/[svn]/gigedit/trunk/src/gigedit/mainwindow.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/mainwindow.cpp

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

revision 2506 by schoenebeck, Mon Sep 16 13:20:46 2013 UTC revision 2507 by persson, Sun Jan 12 19:37:55 2014 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (C) 2006-2013 Andreas Persson   * Copyright (C) 2006-2014 Andreas Persson
3   *   *
4   * This program is free software; you can redistribute it and/or   * This program is free software; you can redistribute it and/or
5   * modify it under the terms of the GNU General Public License as   * modify it under the terms of the GNU General Public License as
# Line 123  MainWindow::MainWindow() : Line 123  MainWindow::MainWindow() :
123                                           Gtk::Stock::PROPERTIES),                                           Gtk::Stock::PROPERTIES),
124                       sigc::mem_fun(                       sigc::mem_fun(
125                           *this, &MainWindow::show_instr_props));                           *this, &MainWindow::show_instr_props));
126        actionGroup->add(Gtk::Action::create("MidiRules",
127                                             _("_Midi Rules")),
128                         sigc::mem_fun(
129                             *this, &MainWindow::show_midi_rules));
130      actionGroup->add(Gtk::Action::create("Quit", Gtk::Stock::QUIT),      actionGroup->add(Gtk::Action::create("Quit", Gtk::Stock::QUIT),
131                       sigc::mem_fun(                       sigc::mem_fun(
132                           *this, &MainWindow::on_action_quit));                           *this, &MainWindow::on_action_quit));
# Line 237  MainWindow::MainWindow() : Line 241  MainWindow::MainWindow() :
241          "  </menubar>"          "  </menubar>"
242          "  <popup name='PopupMenu'>"          "  <popup name='PopupMenu'>"
243          "    <menuitem action='InstrProperties'/>"          "    <menuitem action='InstrProperties'/>"
244            "    <menuitem action='MidiRules'/>"
245          "    <menuitem action='AddInstrument'/>"          "    <menuitem action='AddInstrument'/>"
246          "    <menuitem action='DupInstrument'/>"          "    <menuitem action='DupInstrument'/>"
247          "    <separator/>"          "    <separator/>"
# Line 327  MainWindow::MainWindow() : Line 332  MainWindow::MainWindow() :
332          sigc::mem_fun(*this, &MainWindow::file_changed));          sigc::mem_fun(*this, &MainWindow::file_changed));
333      propDialog.signal_changed().connect(      propDialog.signal_changed().connect(
334          sigc::mem_fun(*this, &MainWindow::file_changed));          sigc::mem_fun(*this, &MainWindow::file_changed));
335        midiRules.signal_changed().connect(
336            sigc::mem_fun(*this, &MainWindow::file_changed));
337    
338      dimreg_edit.signal_dimreg_to_be_changed().connect(      dimreg_edit.signal_dimreg_to_be_changed().connect(
339          dimreg_to_be_changed_signal.make_slot());          dimreg_to_be_changed_signal.make_slot());
# Line 936  void MainWindow::on_action_help_about() Line 943  void MainWindow::on_action_help_about()
943      dialog.set_name("Gigedit");      dialog.set_name("Gigedit");
944  #endif  #endif
945      dialog.set_version(VERSION);      dialog.set_version(VERSION);
946      dialog.set_copyright("Copyright (C) 2006-2013 Andreas Persson");      dialog.set_copyright("Copyright (C) 2006-2014 Andreas Persson");
947      const std::string sComment =      const std::string sComment =
948          _("Built " __DATE__ "\nUsing ") +          _("Built " __DATE__ "\nUsing ") +
949          ::gig::libraryName() + " " + ::gig::libraryVersion() + "\n\n" +          ::gig::libraryName() + " " + ::gig::libraryVersion() + "\n\n" +
# Line 1215  void MainWindow::load_gig(gig::File* gig Line 1222  void MainWindow::load_gig(gig::File* gig
1222      m_TreeView.get_selection()->select(Gtk::TreePath("0"));      m_TreeView.get_selection()->select(Gtk::TreePath("0"));
1223    
1224      instr_props_set_instrument();      instr_props_set_instrument();
1225        gig::Instrument* instrument = get_instrument();
1226        if (instrument) {
1227            midiRules.set_instrument(instrument);
1228        }
1229  }  }
1230    
1231  bool MainWindow::instr_props_set_instrument()  bool MainWindow::instr_props_set_instrument()
# Line 1262  void MainWindow::instr_name_changed_by_i Line 1273  void MainWindow::instr_name_changed_by_i
1273      }      }
1274  }  }
1275    
1276    void MainWindow::show_midi_rules()
1277    {
1278        if (gig::Instrument* instrument = get_instrument())
1279        {
1280            midiRules.set_instrument(instrument);
1281            midiRules.show();
1282            midiRules.deiconify();
1283        }
1284    }
1285    
1286  void MainWindow::on_action_view_status_bar() {  void MainWindow::on_action_view_status_bar() {
1287      Gtk::CheckMenuItem* item =      Gtk::CheckMenuItem* item =
1288          dynamic_cast<Gtk::CheckMenuItem*>(uiManager->get_widget("/MenuBar/MenuView/Statusbar"));          dynamic_cast<Gtk::CheckMenuItem*>(uiManager->get_widget("/MenuBar/MenuView/Statusbar"));
# Line 1308  void MainWindow::on_button_release(GdkEv Line 1329  void MainWindow::on_button_release(GdkEv
1329      if (button->type == GDK_2BUTTON_PRESS) {      if (button->type == GDK_2BUTTON_PRESS) {
1330          show_instr_props();          show_instr_props();
1331      } else if (button->type == GDK_BUTTON_PRESS && button->button == 3) {      } else if (button->type == GDK_BUTTON_PRESS && button->button == 3) {
1332            // gig v2 files have no midi rules
1333            static_cast<Gtk::MenuItem*>(
1334                uiManager->get_widget("/PopupMenu/MidiRules"))->set_sensitive(
1335                    !(file->pVersion && file->pVersion->major == 2));
1336          popup_menu->popup(button->button, button->time);          popup_menu->popup(button->button, button->time);
1337      }      }
1338  }  }
# Line 1480  void MainWindow::on_action_remove_instru Line 1505  void MainWindow::on_action_remove_instru
1505              }              }
1506  #endif  #endif
1507              instr_props_set_instrument();              instr_props_set_instrument();
1508                instr = get_instrument();
1509                if (instr) {
1510                    midiRules.set_instrument(instr);
1511                } else {
1512                    midiRules.hide();
1513                }
1514          } catch (RIFF::Exception e) {          } catch (RIFF::Exception e) {
1515              Gtk::MessageDialog msg(*this, e.Message.c_str(), false, Gtk::MESSAGE_ERROR);              Gtk::MessageDialog msg(*this, e.Message.c_str(), false, Gtk::MESSAGE_ERROR);
1516              msg.run();              msg.run();

Legend:
Removed from v.2506  
changed lines
  Added in v.2507

  ViewVC Help
Powered by ViewVC