1.1 --- a/main_win.cc Mon Dec 19 16:59:05 2005 +0000
1.2 +++ b/main_win.cc Tue Jan 03 14:56:45 2006 +0000
1.3 @@ -72,20 +72,18 @@
1.4 ag=Gtk::ActionGroup::create();
1.5
1.6 ag->add( Gtk::Action::create("FileMenu", "_File") );
1.7 - ag->add( Gtk::Action::create("FileNewTab", "New _Tab"),
1.8 + ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW),
1.9 sigc::mem_fun(*this, &MainWin::newTab));
1.10 - ag->add( Gtk::Action::create("FileCloseTab", "_Close Tab"),
1.11 - sigc::mem_fun(*this, &MainWin::closeTab));
1.12 - ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW),
1.13 - sigc::mem_fun(*this, &MainWin::newFile));
1.14 ag->add( Gtk::Action::create("FileOpen", Gtk::Stock::OPEN),
1.15 sigc::mem_fun(*this, &MainWin::openFile));
1.16 + ag->add( Gtk::Action::create("FileClearTab", "Clear Tab"),
1.17 + sigc::mem_fun(*this, &MainWin::newFile));
1.18 ag->add( Gtk::Action::create("FileSave", Gtk::Stock::SAVE),
1.19 sigc::mem_fun(*this, &MainWin::saveFile));
1.20 ag->add( Gtk::Action::create("FileSaveAs", Gtk::Stock::SAVE_AS),
1.21 sigc::mem_fun(*this, &MainWin::saveFileAs));
1.22 ag->add( Gtk::Action::create("Close", Gtk::Stock::CLOSE),
1.23 - sigc::mem_fun(*this, &MainWin::close));
1.24 + sigc::mem_fun(*this, &MainWin::closeTab));
1.25 ag->add( Gtk::Action::create("Quit", Gtk::Stock::QUIT),
1.26 sigc::mem_fun(*this, &MainWin::hide));
1.27
1.28 @@ -132,10 +130,9 @@
1.29 "<ui>"
1.30 " <menubar name='MenuBar'>"
1.31 " <menu action='FileMenu'>"
1.32 - " <menuitem action='FileNewTab'/>"
1.33 - " <menuitem action='FileCloseTab'/>"
1.34 " <menuitem action='FileNew'/>"
1.35 " <menuitem action='FileOpen'/>"
1.36 + " <menuitem action='FileClearTab'/>"
1.37 " <menuitem action='FileSave'/>"
1.38 " <menuitem action='FileSaveAs'/>"
1.39 " <menuitem action='Close'/>"
1.40 @@ -237,6 +234,24 @@
1.41 {
1.42 if(active_tab!=-1)
1.43 {
1.44 + if (tabs[active_tab]->mapstorage.modified)
1.45 + {
1.46 + Gtk::MessageDialog mdialog("<b>Save changes before closing?</b>", true,
1.47 + Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE);
1.48 + mdialog.add_button("Close file _without Saving", Gtk::RESPONSE_REJECT);
1.49 + mdialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
1.50 + mdialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
1.51 + switch (mdialog.run())
1.52 + {
1.53 + case Gtk::RESPONSE_CANCEL:
1.54 + return;
1.55 + case Gtk::RESPONSE_REJECT:
1.56 + break;
1.57 + case Gtk::RESPONSE_ACCEPT:
1.58 + tabs[active_tab]->saveFile();
1.59 + break;
1.60 + }
1.61 + }
1.62 //tabs vector will be decreased with the deleted value
1.63 int size=tabs.size();
1.64 if(size>1)