]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-properties-dialog.c
[dualscreen] fix crash on ctrl+w and fix control window closing
[evince.git] / shell / ev-properties-dialog.c
index 0ca4661bad3209abd85104fa0ef8f1c2879ac829..e82f2423943c0a6162f8295afc01b8bcb7e75038 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #ifdef HAVE_CONFIG_H
 #include <gtk/gtk.h>
 
 #include "ev-document-fonts.h"
-#include "ev-page-cache.h"
 #include "ev-properties-dialog.h"
 #include "ev-properties-fonts.h"
 #include "ev-properties-view.h"
+#include "ev-properties-license.h"
 
 struct _EvPropertiesDialog {
        GtkDialog base_instance;
@@ -38,6 +38,7 @@ struct _EvPropertiesDialog {
        GtkWidget *notebook;
        GtkWidget *general_page;
        GtkWidget *fonts_page;
+       GtkWidget *license_page;
 };
 
 struct _EvPropertiesDialogClass {
@@ -54,11 +55,14 @@ ev_properties_dialog_class_init (EvPropertiesDialogClass *properties_class)
 static void
 ev_properties_dialog_init (EvPropertiesDialog *properties)
 {
+       GtkBox *content_area;
+
+       content_area = GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (properties)));
+
        gtk_window_set_title (GTK_WINDOW (properties), _("Properties"));
        gtk_window_set_destroy_with_parent (GTK_WINDOW (properties), TRUE);
-       gtk_dialog_set_has_separator (GTK_DIALOG (properties), FALSE);
        gtk_container_set_border_width (GTK_CONTAINER (properties), 5);
-       gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (properties)->vbox), 2);
+       gtk_box_set_spacing (content_area, 2);
 
        gtk_dialog_add_button (GTK_DIALOG (properties), GTK_STOCK_CLOSE,
                               GTK_RESPONSE_CANCEL);
@@ -67,8 +71,7 @@ ev_properties_dialog_init (EvPropertiesDialog *properties)
 
        properties->notebook = gtk_notebook_new ();
        gtk_container_set_border_width (GTK_CONTAINER (properties->notebook), 5);
-       gtk_box_pack_start (GTK_BOX (GTK_DIALOG (properties)->vbox),
-                           properties->notebook, TRUE, TRUE, 0);
+       gtk_box_pack_start (content_area, properties->notebook, TRUE, TRUE, 0);
        gtk_widget_show (properties->notebook);
 
        g_signal_connect (properties, "response",
@@ -108,6 +111,19 @@ ev_properties_dialog_set_document (EvPropertiesDialog *properties,
                ev_properties_fonts_set_document
                        (EV_PROPERTIES_FONTS (properties->fonts_page), document);
        }
+
+       if (info->fields_mask & EV_DOCUMENT_INFO_LICENSE && info->license) {
+               if (properties->license_page == NULL) {
+                       label = gtk_label_new (_("Document License"));
+                       properties->license_page = ev_properties_license_new ();
+                       gtk_notebook_append_page (GTK_NOTEBOOK (properties->notebook),
+                                                 properties->license_page, label);
+                       gtk_widget_show (properties->license_page);
+               }
+
+               ev_properties_license_set_license
+                       (EV_PROPERTIES_LICENSE (properties->license_page), info->license);
+       }
 }
 
 GtkWidget *