/[xlog]/xlog/src/gui_closedialog.c
ViewVC logotype

Diff of /xlog/src/gui_closedialog.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by pa4tu, Sat Oct 9 12:44:54 2004 UTC revision 1.3 by pa4tu, Mon Oct 25 19:22:38 2004 UTC
# Line 29  Line 29 
29  #include "support.h"  #include "support.h"
30  #include "types.h"  #include "types.h"
31  #include "log.h"  #include "log.h"
32    #include "gui_utils.h"
33    
34  extern GtkWidget *mainwindow;  extern GtkWidget *mainwindow;
35  extern GtkWidget *mainnotebook;  extern GtkWidget *mainnotebook;
# Line 46  on_menu_close_activate (GtkMenuItem * me Line 47  on_menu_close_activate (GtkMenuItem * me
47    
48          page = gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook));          page = gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook));
49          if (page >= 0)          if (page >= 0)
50            {
51                    logwindow = g_list_nth_data (logwindowlist, page);
52                    if (logwindow->logchanged)
53                  {                  {
54                          logwindow = g_list_nth_data (logwindowlist, page);                          closedialog = gtk_dialog_new ();
55                          if (logwindow->logchanged)                          gtk_window_set_title (GTK_WINDOW (closedialog), _("xlog - closing"));
56                            gtk_window_set_position (GTK_WINDOW (closedialog), GTK_WIN_POS_MOUSE);
57                            closedialog_icon_pixbuf = create_pixbuf ("xlog.png");
58                            if (closedialog_icon_pixbuf)
59                          {                          {
60                                  closedialog = gtk_dialog_new ();                                  gtk_window_set_icon (GTK_WINDOW (closedialog), closedialog_icon_pixbuf);
61                                  gtk_window_set_title (GTK_WINDOW (closedialog), _("xlog - closing"));                                  g_object_unref (closedialog_icon_pixbuf);
                                 gtk_window_set_position (GTK_WINDOW (closedialog), GTK_WIN_POS_MOUSE);  
                                 closedialog_icon_pixbuf = create_pixbuf ("xlog.png");  
                                 if (closedialog_icon_pixbuf)  
                                 {  
                                         gtk_window_set_icon (GTK_WINDOW (closedialog), closedialog_icon_pixbuf);  
                                         g_object_unref (closedialog_icon_pixbuf);  
                                 }  
                                 dialog_vbox = GTK_DIALOG (closedialog)->vbox;  
                                 gtk_widget_show (dialog_vbox);  
                                 label = gtk_label_new (_("This log has not been saved, do you want to close it anyway?"));  
                                 gtk_widget_show (label);  
                                 gtk_box_pack_start (GTK_BOX (dialog_vbox), label, FALSE, FALSE, 0);  
                                 gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER);  
                                 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);  
                                 gtk_misc_set_padding (GTK_MISC (label), 20, 20);  
                                 dialog_action_area = GTK_DIALOG (closedialog)->action_area;  
                                 gtk_widget_show (dialog_action_area);  
                                 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area), GTK_BUTTONBOX_SPREAD);  
                                 closecancelbutton = gtk_button_new_from_stock ("gtk-cancel");  
                                 gtk_widget_show (closecancelbutton);  
                                 gtk_dialog_add_action_widget (GTK_DIALOG (closedialog), closecancelbutton, GTK_RESPONSE_CANCEL);  
                                 GTK_WIDGET_SET_FLAGS (closecancelbutton, GTK_CAN_DEFAULT);  
                                 closeokbutton = gtk_button_new_from_stock ("gtk-ok");  
                                 gtk_widget_show (closeokbutton);  
                                 gtk_dialog_add_action_widget (GTK_DIALOG (closedialog), closeokbutton, GTK_RESPONSE_OK);  
                                 GTK_WIDGET_SET_FLAGS (closeokbutton, GTK_CAN_DEFAULT);  
                                 response = gtk_dialog_run (GTK_DIALOG(closedialog));  
                                 if (response == GTK_RESPONSE_OK)  
                                 {  
                                         logwindowlist = g_list_remove (logwindowlist, logwindow);  
                                         g_free (logwindow->logname);  
                                         g_free (logwindow->filename);  
                                         g_free (logwindow);  
                                         state.logwindows--;  
                                         gtk_notebook_remove_page (GTK_NOTEBOOK (mainnotebook), page);  
                                 }  
                                 gtk_widget_destroy (closedialog);  
62                          }                          }
63                          else                          dialog_vbox = GTK_DIALOG (closedialog)->vbox;
64                            gtk_widget_show (dialog_vbox);
65                            label = gtk_label_new (_("This log has not been saved, do you want to close it anyway?"));
66                            gtk_widget_show (label);
67                            gtk_box_pack_start (GTK_BOX (dialog_vbox), label, FALSE, FALSE, 0);
68                            gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER);
69                            gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
70                            gtk_misc_set_padding (GTK_MISC (label), 20, 20);
71                            dialog_action_area = GTK_DIALOG (closedialog)->action_area;
72                            gtk_widget_show (dialog_action_area);
73                            gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area), GTK_BUTTONBOX_SPREAD);
74                            closecancelbutton = gtk_button_new_from_stock ("gtk-cancel");
75                            gtk_widget_show (closecancelbutton);
76                            gtk_dialog_add_action_widget (GTK_DIALOG (closedialog), closecancelbutton, GTK_RESPONSE_CANCEL);
77                            GTK_WIDGET_SET_FLAGS (closecancelbutton, GTK_CAN_DEFAULT);
78                            closeokbutton = gtk_button_new_from_stock ("gtk-ok");
79                            gtk_widget_show (closeokbutton);
80                            gtk_dialog_add_action_widget (GTK_DIALOG (closedialog), closeokbutton, GTK_RESPONSE_OK);
81                            GTK_WIDGET_SET_FLAGS (closeokbutton, GTK_CAN_DEFAULT);
82                            response = gtk_dialog_run (GTK_DIALOG(closedialog));
83                            if (response == GTK_RESPONSE_OK)
84                          {                          {
85                                  logwindowlist = g_list_remove (logwindowlist, logwindow);                                  logwindowlist = g_list_remove (logwindowlist, logwindow);
86                                  g_free (logwindow->logname);                                  g_free (logwindow->logname);
87                                  g_free (logwindow->filename);                                  g_free (logwindow->filename);
88                                  g_free (logwindow);                                  g_free (logwindow);
89                                  gtk_notebook_remove_page (GTK_NOTEBOOK (mainnotebook), page);                                  gtk_notebook_remove_page (GTK_NOTEBOOK (mainnotebook), page);
90                                    set_tabs_menu ();
91                                  state.logwindows--;                                  state.logwindows--;
92                          }                          }
93                            gtk_widget_destroy (closedialog);
94                  }                  }
95                    else
96                    {
97                            logwindowlist = g_list_remove (logwindowlist, logwindow);
98                            g_free (logwindow->logname);
99                            g_free (logwindow->filename);
100                            g_free (logwindow);
101                            gtk_notebook_remove_page (GTK_NOTEBOOK (mainnotebook), page);
102                            set_tabs_menu ();
103                            state.logwindows--;
104                    }
105            }
106  }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26