]> git.sur5r.net Git - glabels/blobdiff - glabels2/src/ui-commands.c
2009-09-01 Jim Evins <evins@snaught.com>
[glabels] / glabels2 / src / ui-commands.c
index d3884ec17ca12b76213690e17256b4094590edb7..bc01a65b0b9c4ece145599a0c20424cf173f256a 100644 (file)
@@ -5,7 +5,7 @@
  *
  *  ui-commands.c:  GLabels UI commands module
  *
- *  Copyright (C) 2001-2003  Jim Evins <evins@snaught.com>.
+ *  Copyright (C) 2001-2009  Jim Evins <evins@snaught.com>.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -27,9 +27,7 @@
 #include "ui-commands.h"
 
 #include <glib/gi18n.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtkaboutdialog.h>
-#include <libgnome/gnome-help.h>
+#include <gtk/gtk.h>
 
 #include "view.h"
 #include "file.h"
@@ -136,9 +134,7 @@ gl_ui_cmd_file_open_recent (GtkRecentChooser *chooser,
         utf8_filename = gl_recent_get_utf8_filename (item);
 
         gl_debug (DEBUG_COMMANDS, "Selected %s\n", utf8_filename);
-#if 1
         gl_file_open_recent (utf8_filename, window);
-#endif
 
         gtk_recent_info_unref (item);
         
@@ -186,7 +182,8 @@ void
 gl_ui_cmd_file_print (GtkAction *action,
                       glWindow  *window)
 {
-        glPrintOp *op;
+        glPrintOp               *op;
+        GtkPrintOperationResult  result;
 
         gl_debug (DEBUG_COMMANDS, "START");
 
@@ -195,10 +192,21 @@ gl_ui_cmd_file_print (GtkAction *action,
 
         op = gl_print_op_new (GL_VIEW(window->view)->label);
 
-        gtk_print_operation_run (GTK_PRINT_OPERATION (op),
-                                 GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
-                                 GTK_WINDOW (window),
-                                 NULL);
+        if (window->print_settings)
+        {
+                gl_print_op_set_settings (op, window->print_settings);
+        }
+
+        result = gtk_print_operation_run (GTK_PRINT_OPERATION (op),
+                                          GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
+                                          GTK_WINDOW (window),
+                                          NULL);
+
+        if ( result == GTK_PRINT_OPERATION_RESULT_APPLY )
+        {
+                gl_print_op_free_settings (window->print_settings);
+                window->print_settings = gl_print_op_get_settings (op);
+        }
 
         gl_debug (DEBUG_COMMANDS, "END");
 }
@@ -349,27 +357,27 @@ void
 gl_ui_cmd_edit_preferences (GtkAction *action,
                             glWindow  *window)
 {
-        static GtkWidget *dlg = NULL;
+        static GtkWidget *dialog = NULL;
 
         gl_debug (DEBUG_COMMANDS, "START");
 
         g_return_if_fail (action && GTK_IS_ACTION(action));
         g_return_if_fail (window && GL_IS_WINDOW(window));
 
-        if (dlg != NULL)
+        if (dialog != NULL)
         {
-                gtk_window_present (GTK_WINDOW (dlg));
-                gtk_window_set_transient_for (GTK_WINDOW (dlg),        
+                gtk_window_present (GTK_WINDOW (dialog));
+                gtk_window_set_transient_for (GTK_WINDOW (dialog),        
                                               GTK_WINDOW(window));
 
         } else {
                 
-                dlg = gl_prefs_dialog_new (GTK_WINDOW(window));
+                dialog = gl_prefs_dialog_new (GTK_WINDOW(window));
 
-                g_signal_connect (G_OBJECT (dlg), "destroy",
-                                  G_CALLBACK (gtk_widget_destroyed), &dlg);
+                g_signal_connect (G_OBJECT (dialog), "destroy",
+                                  G_CALLBACK (gtk_widget_destroyed), &dialog);
         
-                gtk_widget_show (dlg);
+                gtk_widget_show (dialog);
 
         }
 
@@ -403,28 +411,6 @@ gl_ui_cmd_view_property_bar_toggle (GtkToggleAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
-/*****************************************************************************/
-/** View/Property-bar-tooltips-toggle command.                               */
-/*****************************************************************************/
-void
-gl_ui_cmd_view_property_bar_tips_toggle (GtkToggleAction *action,
-                                         glWindow        *window)
-{
-        gboolean     state;
-
-        gl_debug (DEBUG_COMMANDS, "START");
-
-        g_return_if_fail (action && GTK_IS_TOGGLE_ACTION(action));
-        g_return_if_fail (window && GL_IS_WINDOW(window));
-
-        state =  gtk_toggle_action_get_active (action);
-
-        gl_prefs->property_toolbar_view_tooltips = state;
-        gl_ui_property_bar_set_tooltips (window->property_bar, state);
-        gl_prefs_model_save_settings (gl_prefs);
-
-        gl_debug (DEBUG_COMMANDS, "END");
-}
 
 /*****************************************************************************/
 /** View/Grid-toggle command.                                                */
@@ -1044,11 +1030,14 @@ gl_ui_cmd_help_contents (GtkAction *action,
         g_return_if_fail (action && GTK_IS_ACTION(action));
         g_return_if_fail (window && GL_IS_WINDOW(window));
 
-        gnome_help_display_with_doc_id (NULL, NULL, "glabels.xml", NULL, &error);
+        gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (window)),
+                      "ghelp:glabels",
+                      GDK_CURRENT_TIME, 
+                      &error);
         
         if (error != NULL)
         {
-                g_message (error->message);
+                g_message ("%s", error->message);
 
                 g_error_free (error);
         }
@@ -1088,7 +1077,7 @@ gl_ui_cmd_help_about (GtkAction *action,
                 NULL
         };
         
-        const gchar *copy_text = "Copyright \xc2\xa9 2001-2005 Jim Evins";
+        const gchar *copy_text = "Copyright \xc2\xa9 2001-2009 Jim Evins";
 
         const gchar *about_text = _("A label and business card creation program.\n");
 
@@ -1123,15 +1112,15 @@ gl_ui_cmd_help_about (GtkAction *action,
                 pixbuf = gdk_pixbuf_new_from_file (GLABELS_PIXMAP_DIR "glabels-splash.png", NULL);
 
                 about = gtk_about_dialog_new ();
-                gtk_about_dialog_set_name      (GTK_ABOUT_DIALOG(about), _("glabels"));
-                gtk_about_dialog_set_version   (GTK_ABOUT_DIALOG(about), VERSION);
-                gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG(about), copy_text);
-                gtk_about_dialog_set_comments  (GTK_ABOUT_DIALOG(about), about_text);
-                gtk_about_dialog_set_website   (GTK_ABOUT_DIALOG(about), url);
-                gtk_about_dialog_set_logo      (GTK_ABOUT_DIALOG(about), pixbuf);
-
-                gtk_about_dialog_set_authors   (GTK_ABOUT_DIALOG(about), authors);
-                gtk_about_dialog_set_artists   (GTK_ABOUT_DIALOG(about), artists);
+                gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG(about), _("glabels"));
+                gtk_about_dialog_set_version      (GTK_ABOUT_DIALOG(about), VERSION);
+                gtk_about_dialog_set_copyright    (GTK_ABOUT_DIALOG(about), copy_text);
+                gtk_about_dialog_set_comments     (GTK_ABOUT_DIALOG(about), about_text);
+                gtk_about_dialog_set_website      (GTK_ABOUT_DIALOG(about), url);
+                gtk_about_dialog_set_logo         (GTK_ABOUT_DIALOG(about), pixbuf);
+
+                gtk_about_dialog_set_authors      (GTK_ABOUT_DIALOG(about), authors);
+                gtk_about_dialog_set_artists      (GTK_ABOUT_DIALOG(about), artists);
                 gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG(about),
                                                          translator_credits);
                 gtk_about_dialog_set_license   (GTK_ABOUT_DIALOG(about), license);