[Lemon-commits] [lemon_svn] hegyi: r2444 - hugo/trunk/gui

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:52:40 CET 2006


Author: hegyi
Date: Tue Jan  3 15:56:45 2006
New Revision: 2444

Modified:
   hugo/trunk/gui/graph-displayer.cc
   hugo/trunk/gui/main_win.cc
   hugo/trunk/gui/nbtab.cc

Log:
Handling of tabs is rationalized a bit. More than one file can be given at startup in command prompt. If there is no file given in command prompt, an empty tab will be present at startup.

Modified: hugo/trunk/gui/graph-displayer.cc
==============================================================================
--- hugo/trunk/gui/graph-displayer.cc	(original)
+++ hugo/trunk/gui/graph-displayer.cc	Tue Jan  3 15:56:45 2006
@@ -63,9 +63,23 @@
 
   MainWin mytab;
 
-  if ((argc == 2) && (Glib::file_test(argv[1], Glib::FILE_TEST_IS_REGULAR)))
+//   if ((argc == 2) && (Glib::file_test(argv[1], Glib::FILE_TEST_IS_REGULAR)))
+//     {
+//       mytab.readFile(argv[1]);
+//     }
+  if(argc>=2)
     {
-      mytab.readFile(argv[1]);
+      for(int i=1;i<argc;i++)
+	{
+	  if(Glib::file_test(argv[i], Glib::FILE_TEST_IS_REGULAR))
+	    {
+	      mytab.readFile(argv[i]);
+	    }
+	}
+    }
+  else
+    {
+      mytab.newTab();
     }
   
   app.run(mytab);

Modified: hugo/trunk/gui/main_win.cc
==============================================================================
--- hugo/trunk/gui/main_win.cc	(original)
+++ hugo/trunk/gui/main_win.cc	Tue Jan  3 15:56:45 2006
@@ -72,20 +72,18 @@
   ag=Gtk::ActionGroup::create();
 
   ag->add( Gtk::Action::create("FileMenu", "_File") );
-  ag->add( Gtk::Action::create("FileNewTab", "New _Tab"),
-      sigc::mem_fun(*this, &MainWin::newTab));
-  ag->add( Gtk::Action::create("FileCloseTab", "_Close Tab"),
-      sigc::mem_fun(*this, &MainWin::closeTab));
   ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW),
-      sigc::mem_fun(*this, &MainWin::newFile));
+      sigc::mem_fun(*this, &MainWin::newTab));
   ag->add( Gtk::Action::create("FileOpen", Gtk::Stock::OPEN),
       sigc::mem_fun(*this, &MainWin::openFile));
+  ag->add( Gtk::Action::create("FileClearTab", "Clear Tab"),
+      sigc::mem_fun(*this, &MainWin::newFile));
   ag->add( Gtk::Action::create("FileSave", Gtk::Stock::SAVE),
       sigc::mem_fun(*this, &MainWin::saveFile));
   ag->add( Gtk::Action::create("FileSaveAs", Gtk::Stock::SAVE_AS),
       sigc::mem_fun(*this, &MainWin::saveFileAs));
   ag->add( Gtk::Action::create("Close", Gtk::Stock::CLOSE),
-      sigc::mem_fun(*this, &MainWin::close));
+      sigc::mem_fun(*this, &MainWin::closeTab));
   ag->add( Gtk::Action::create("Quit", Gtk::Stock::QUIT),
       sigc::mem_fun(*this, &MainWin::hide));
 
@@ -132,10 +130,9 @@
       "<ui>"
       "  <menubar name='MenuBar'>"
       "    <menu action='FileMenu'>"
-      "      <menuitem action='FileNewTab'/>"
-      "      <menuitem action='FileCloseTab'/>"
       "      <menuitem action='FileNew'/>"
       "      <menuitem action='FileOpen'/>"
+      "      <menuitem action='FileClearTab'/>"
       "      <menuitem action='FileSave'/>"
       "      <menuitem action='FileSaveAs'/>"
       "      <menuitem action='Close'/>"
@@ -237,6 +234,24 @@
 {
   if(active_tab!=-1)
     {
+      if (tabs[active_tab]->mapstorage.modified)
+	{
+	  Gtk::MessageDialog mdialog("<b>Save changes before closing?</b>", true, 
+				     Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE);
+	  mdialog.add_button("Close file _without Saving", Gtk::RESPONSE_REJECT);
+	  mdialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
+	  mdialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
+	  switch (mdialog.run())
+	    {
+	    case Gtk::RESPONSE_CANCEL:
+	      return;
+	    case Gtk::RESPONSE_REJECT:
+	      break;
+	    case Gtk::RESPONSE_ACCEPT:
+	      tabs[active_tab]->saveFile();
+	      break;
+	    }
+	}
       //tabs vector will be decreased with the deleted value
       int size=tabs.size();
       if(size>1)

Modified: hugo/trunk/gui/nbtab.cc
==============================================================================
--- hugo/trunk/gui/nbtab.cc	(original)
+++ hugo/trunk/gui/nbtab.cc	Tue Jan  3 15:56:45 2006
@@ -30,7 +30,7 @@
   {
     Gtk::MessageDialog mdialog("<b>Save changes before closing?</b>", true,
         Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE);
-    mdialog.add_button("Close _without Saving", Gtk::RESPONSE_REJECT);
+    mdialog.add_button("Close file _without Saving", Gtk::RESPONSE_REJECT);
     mdialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
     mdialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
     switch (mdialog.run())
@@ -59,7 +59,7 @@
   {
     Gtk::MessageDialog mdialog("<b>Save changes before closing?</b>", true, 
         Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE);
-    mdialog.add_button("Close _without Saving", Gtk::RESPONSE_REJECT);
+    mdialog.add_button("Close file _without Saving", Gtk::RESPONSE_REJECT);
     mdialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
     mdialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
     switch (mdialog.run())



More information about the Lemon-commits mailing list