]> git.sur5r.net Git - glabels/blobdiff - glabels2/src/ui-commands.c
2009-09-22 Jim Evins <evins@snaught.com>
[glabels] / glabels2 / src / ui-commands.c
index ae288af6131dcf56bcd52936eedfe8cfa1f7b062..a8e2bbd3b2f8ab5ff588e5603e390ed11650db35 100644 (file)
@@ -1,25 +1,21 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-
 /*
- *  (GLABELS) Label and Business Card Creation program for GNOME
- *
- *  ui-commands.c:  GLabels UI commands module
+ *  ui-commands.c
+ *  Copyright (C) 2001-2009  Jim Evins <evins@snaught.com>.
  *
- *  Copyright (C) 2001-2003  Jim Evins <evins@snaught.com>.
+ *  This file is part of gLabels.
  *
- *  This program is free software; you can redistribute it and/or modify
+ *  gLabels is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
+ *  the Free Software Foundation, either version 3 of the License, or
  *  (at your option) any later version.
  *
- *  This program is distributed in the hope that it will be useful,
+ *  gLabels is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  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
+ *  along with gLabels.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <config.h>
 #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"
 #include "template-designer.h"
-#include "print-op.h"
+#include "print-op-dialog.h"
 #include "prefs.h"
 #include "prefs-dialog.h"
 #include "recent.h"
 #include "debug.h"
 
 
-\f
 /****************************************************************************/
 /** File/New command.                                                       */
 /****************************************************************************/
@@ -59,6 +52,7 @@ gl_ui_cmd_file_new (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Properties command.                                                */
 /****************************************************************************/
@@ -76,6 +70,7 @@ gl_ui_cmd_file_properties (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Template-Designer command.                                         */
 /****************************************************************************/
@@ -97,6 +92,7 @@ gl_ui_cmd_file_template_designer (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Open command.                                                      */
 /****************************************************************************/
@@ -114,6 +110,7 @@ gl_ui_cmd_file_open (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Open-Recent command.                                               */
 /****************************************************************************/
@@ -143,6 +140,7 @@ gl_ui_cmd_file_open_recent (GtkRecentChooser *chooser,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Save command.                                                      */
 /****************************************************************************/
@@ -160,6 +158,7 @@ gl_ui_cmd_file_save (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Save-as command.                                                   */
 /****************************************************************************/
@@ -177,6 +176,7 @@ gl_ui_cmd_file_save_as (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Print command.                                                     */
 /****************************************************************************/
@@ -184,23 +184,36 @@ void
 gl_ui_cmd_file_print (GtkAction *action,
                       glWindow  *window)
 {
-        glPrintOp *op;
+        glPrintOpDialog         *op;
+        GtkPrintOperationResult  result;
 
         gl_debug (DEBUG_COMMANDS, "START");
 
         g_return_if_fail (action && GTK_IS_ACTION(action));
         g_return_if_fail (window && GL_IS_WINDOW(window));
 
-        op = gl_print_op_new (GL_VIEW(window->view)->label);
+        op = gl_print_op_dialog_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 (GL_PRINT_OP (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 (GL_PRINT_OP (op));
+        }
 
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Close command.                                                     */
 /****************************************************************************/
@@ -218,6 +231,7 @@ gl_ui_cmd_file_close (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** File/Quit command.                                                      */
 /****************************************************************************/
@@ -253,6 +267,7 @@ gl_ui_cmd_edit_cut (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** Edit/Copy command.                                                      */
 /****************************************************************************/
@@ -270,6 +285,7 @@ gl_ui_cmd_edit_copy (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** Edit/Paste command.                                                     */
 /****************************************************************************/
@@ -323,6 +339,7 @@ gl_ui_cmd_edit_select_all (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** Edit/Unselect-all command.                                              */
 /****************************************************************************/
@@ -340,6 +357,7 @@ gl_ui_cmd_edit_unselect_all (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** Edit/Preferences command.                                               */
 /****************************************************************************/
@@ -374,6 +392,7 @@ gl_ui_cmd_edit_preferences (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** View/Property-bar-toggle command.                                        */
 /*****************************************************************************/
@@ -401,28 +420,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.                                                */
@@ -455,6 +452,7 @@ gl_ui_cmd_view_grid_toggle (GtkToggleAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** View/Markup-toggle command.                                              */
 /*****************************************************************************/
@@ -486,6 +484,7 @@ gl_ui_cmd_view_markup_toggle (GtkToggleAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** View/Zoom-in command.                                                    */
 /*****************************************************************************/
@@ -506,6 +505,7 @@ gl_ui_cmd_view_zoomin (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** View/Zoom-out command.                                                   */
 /*****************************************************************************/
@@ -526,6 +526,7 @@ gl_ui_cmd_view_zoomout (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** View/Zoom-1:1 command.                                                   */
 /*****************************************************************************/
@@ -546,6 +547,7 @@ gl_ui_cmd_view_zoom1to1 (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** View/Zoom-to-fit command.                                                */
 /*****************************************************************************/
@@ -566,6 +568,7 @@ gl_ui_cmd_view_zoom_to_fit (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Arrow-mode command.                                              */
 /*****************************************************************************/
@@ -585,6 +588,7 @@ gl_ui_cmd_objects_arrow_mode (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Create-text object command.                                      */
 /*****************************************************************************/
@@ -606,6 +610,7 @@ gl_ui_cmd_objects_create_text (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Create-box object command.                                       */
 /*****************************************************************************/
@@ -627,6 +632,7 @@ gl_ui_cmd_objects_create_box (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Create-line object command.                                      */
 /*****************************************************************************/
@@ -648,6 +654,7 @@ gl_ui_cmd_objects_create_line (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Create-ellipse object command.                                   */
 /*****************************************************************************/
@@ -669,6 +676,7 @@ gl_ui_cmd_objects_create_ellipse (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Create-image object command.                                     */
 /*****************************************************************************/
@@ -690,6 +698,7 @@ gl_ui_cmd_objects_create_image (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Create-barcode object command.                                   */
 /*****************************************************************************/
@@ -711,6 +720,7 @@ gl_ui_cmd_objects_create_barcode (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Raise command.                                                   */
 /*****************************************************************************/
@@ -731,6 +741,7 @@ gl_ui_cmd_objects_raise (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Lower command.                                                   */
 /*****************************************************************************/
@@ -751,6 +762,7 @@ gl_ui_cmd_objects_lower (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Rotate-left-90-degrees command.                                  */
 /*****************************************************************************/
@@ -771,6 +783,7 @@ gl_ui_cmd_objects_rotate_left (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Rotate-right-90-degrees command.                                 */
 /*****************************************************************************/
@@ -791,6 +804,7 @@ gl_ui_cmd_objects_rotate_right (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Flip-horizontally command.                                       */
 /*****************************************************************************/
@@ -811,6 +825,7 @@ gl_ui_cmd_objects_flip_horiz (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Flip-vertically command.                                         */
 /*****************************************************************************/
@@ -831,6 +846,7 @@ gl_ui_cmd_objects_flip_vert (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Align-left command.                                              */
 /*****************************************************************************/
@@ -851,6 +867,7 @@ gl_ui_cmd_objects_align_left (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Align-right command.                                             */
 /*****************************************************************************/
@@ -871,6 +888,7 @@ gl_ui_cmd_objects_align_right (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Align-horizontal-center command.                                 */
 /*****************************************************************************/
@@ -891,6 +909,7 @@ gl_ui_cmd_objects_align_hcenter (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Align-top command.                                               */
 /*****************************************************************************/
@@ -911,6 +930,7 @@ gl_ui_cmd_objects_align_top (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Align-bottom command.                                            */
 /*****************************************************************************/
@@ -931,6 +951,7 @@ gl_ui_cmd_objects_align_bottom (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Align-vertical center command.                                   */
 /*****************************************************************************/
@@ -951,6 +972,7 @@ gl_ui_cmd_objects_align_vcenter (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Center-horizontally command.                                     */
 /*****************************************************************************/
@@ -971,6 +993,7 @@ gl_ui_cmd_objects_center_horiz (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Center-vertically command.                                       */
 /*****************************************************************************/
@@ -991,6 +1014,7 @@ gl_ui_cmd_objects_center_vert (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /*****************************************************************************/
 /** Objects/Edit- merge-properties command.                                  */
 /*****************************************************************************/
@@ -1028,6 +1052,7 @@ gl_ui_cmd_objects_merge_properties (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
 /****************************************************************************/
 /** Help/Contents command.                                                  */
 /****************************************************************************/
@@ -1042,11 +1067,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);
         }
@@ -1086,7 +1114,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");
 
@@ -1095,14 +1123,15 @@ gl_ui_cmd_help_about (GtkAction *action,
         const gchar *translator_credits = _("translator-credits");
 
         const gchar *license = _(
-              "Glabels is free software; you can redistribute it and/or modify it\n"
-              "under the terms of the GNU General Public License as published by\n"
-              "the Free Software Foundation; either version 2 of the License, or\n"
-              "(at your option) any later version.\n" "\n"
-              "This program is distributed in the hope that it will be useful, but\n"
-              "WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-              "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See\n"
-              "the GNU General Public License for more details.\n");
+                "gLabels is free software: you can redistribute it and/or modify\n"
+                "it under the terms of the GNU General Public License as published by\n"
+                "the Free Software Foundation, either version 3 of the License, or\n"
+                "(at your option) any later version.\n"
+                "\n"
+                "gLabels is distributed in the hope that it will be useful,\n"
+                "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+                "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+                "GNU General Public License for more details.\n");
 
         gl_debug (DEBUG_COMMANDS, "START");
 
@@ -1121,15 +1150,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);
@@ -1154,3 +1183,13 @@ gl_ui_cmd_help_about (GtkAction *action,
         gl_debug (DEBUG_COMMANDS, "END");
 }
 
+
+
+/*
+ * Local Variables:       -- emacs
+ * mode: C                -- emacs
+ * c-basic-offset: 8      -- emacs
+ * tab-width: 8           -- emacs
+ * indent-tabs-mode: nil  -- emacs
+ * End:                   -- emacs
+ */