added clear buttons to the Live Mode window (part of #1940)

This commit is contained in:
fgerlits 2006-11-14 17:52:06 +00:00
parent db8b0de70f
commit f56866a0d0
3 changed files with 65 additions and 11 deletions

View File

@ -101,7 +101,6 @@ LiveModeWindow :: LiveModeWindow (Ptr<GLiveSupport>::Ref gLiveSupport,
// Add the TreeView's view columns: // Add the TreeView's view columns:
try { try {
treeView->appendLineNumberColumn("", 2 /* offset */, 50); treeView->appendLineNumberColumn("", 2 /* offset */, 50);
// treeView->appendColumn("", WidgetConstants::hugePlayButton, 82);
treeView->appendColumn("", modelColumns.infoColumn, 200); treeView->appendColumn("", modelColumns.infoColumn, 200);
} catch (std::invalid_argument &e) { } catch (std::invalid_argument &e) {
std::cerr << e.what() << std::endl; std::cerr << e.what() << std::endl;
@ -125,15 +124,24 @@ LiveModeWindow :: LiveModeWindow (Ptr<GLiveSupport>::Ref gLiveSupport,
scrolledWindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scrolledWindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
// Create the play etc buttons: // Create the play etc buttons:
Gtk::HBox * buttonBox = Gtk::manage(new Gtk::HBox); Gtk::HBox * topButtonBox = Gtk::manage(new Gtk::HBox);
Gtk::HButtonBox * bottomButtonBox = Gtk::manage(new Gtk::HButtonBox);
ImageButton * outputPlayButton = Gtk::manage(wf->createButton( ImageButton * outputPlayButton = Gtk::manage(wf->createButton(
WidgetConstants::hugePlayButton )); WidgetConstants::hugePlayButton ));
Button * clearListButton;
Button * removeButton;
Gtk::VBox * cueAudioBox = Gtk::manage(new Gtk::VBox); Gtk::VBox * cueAudioBox = Gtk::manage(new Gtk::VBox);
Gtk::HBox * cueAudioLabelBox = Gtk::manage(new Gtk::HBox); Gtk::HBox * cueAudioLabelBox = Gtk::manage(new Gtk::HBox);
Gtk::Label * cueAudioLabel; Gtk::Label * cueAudioLabel;
try { try {
cueAudioLabel = Gtk::manage(new Gtk::Label( cueAudioLabel = Gtk::manage(new Gtk::Label(
*getResourceUstring("cuePlayerLabel") )); *getResourceUstring("cuePlayerLabel") ));
clearListButton = Gtk::manage(wf->createButton(
*getResourceUstring("clearListButtonLabel")));
removeButton = Gtk::manage(wf->createButton(
*getResourceUstring("removeButtonLabel")));
} catch (std::invalid_argument &e) { } catch (std::invalid_argument &e) {
std::cerr << e.what() << std::endl; std::cerr << e.what() << std::endl;
std::exit(1); std::exit(1);
@ -141,21 +149,32 @@ LiveModeWindow :: LiveModeWindow (Ptr<GLiveSupport>::Ref gLiveSupport,
Gtk::HBox * cueAudioButtonsBox = Gtk::manage(new Gtk::HBox); Gtk::HBox * cueAudioButtonsBox = Gtk::manage(new Gtk::HBox);
cueAudioButtons = Gtk::manage(new CuePlayer( cueAudioButtons = Gtk::manage(new CuePlayer(
gLiveSupport, treeView, modelColumns )); gLiveSupport, treeView, modelColumns ));
buttonBox->pack_start(*outputPlayButton, Gtk::PACK_EXPAND_PADDING, 10);
buttonBox->pack_start(*cueAudioBox, Gtk::PACK_EXPAND_PADDING, 10); topButtonBox->pack_start(*outputPlayButton, Gtk::PACK_EXPAND_PADDING, 10);
topButtonBox->pack_start(*cueAudioBox, Gtk::PACK_EXPAND_PADDING, 10);
cueAudioBox->pack_start(*cueAudioLabelBox, Gtk::PACK_SHRINK, 6); cueAudioBox->pack_start(*cueAudioLabelBox, Gtk::PACK_SHRINK, 6);
cueAudioLabelBox->pack_start(*cueAudioLabel, Gtk::PACK_EXPAND_PADDING, 1); cueAudioLabelBox->pack_start(*cueAudioLabel, Gtk::PACK_EXPAND_PADDING, 1);
cueAudioBox->pack_start(*cueAudioButtonsBox, Gtk::PACK_SHRINK, 0); cueAudioBox->pack_start(*cueAudioButtonsBox, Gtk::PACK_SHRINK, 0);
cueAudioButtonsBox->pack_start(*cueAudioButtons, cueAudioButtonsBox->pack_start(*cueAudioButtons,
Gtk::PACK_EXPAND_PADDING, 1); Gtk::PACK_EXPAND_PADDING, 1);
vBox.pack_start(*buttonBox, Gtk::PACK_SHRINK, 5); bottomButtonBox->set_layout(Gtk::BUTTONBOX_END);
vBox.pack_start(scrolledWindow, Gtk::PACK_EXPAND_WIDGET, 5); bottomButtonBox->set_spacing(5);
bottomButtonBox->pack_start(*clearListButton);
bottomButtonBox->pack_start(*removeButton);
vBox.pack_start(*topButtonBox, Gtk::PACK_SHRINK, 5);
vBox.pack_start(scrolledWindow, Gtk::PACK_EXPAND_WIDGET, 5);
vBox.pack_start(*bottomButtonBox, Gtk::PACK_SHRINK, 5);
add(vBox); add(vBox);
// connect the signal handler for the output play button // connect the signal handlers for the buttons
outputPlayButton->signal_clicked().connect(sigc::mem_fun(*this, outputPlayButton->signal_clicked().connect(sigc::mem_fun(*this,
&LiveModeWindow::onOutputPlay )); &LiveModeWindow::onOutputPlay ));
clearListButton->signal_clicked().connect(sigc::mem_fun(*this,
&LiveModeWindow::onClearListButtonClicked));
removeButton->signal_clicked().connect(sigc::mem_fun(*this,
&LiveModeWindow::onRemoveItemButtonClicked));
// create the right-click context menus // create the right-click context menus
audioClipContextMenu = constructAudioClipContextMenu(); audioClipContextMenu = constructAudioClipContextMenu();
@ -610,6 +629,26 @@ LiveModeWindow :: constructPlaylistContextMenu(void) throw ()
} }
/*------------------------------------------------------------------------------
* Event handler for the clear list button getting clicked.
*----------------------------------------------------------------------------*/
void
LiveModeWindow :: onClearListButtonClicked (void) throw ()
{
treeModel->clear();
}
/*------------------------------------------------------------------------------
* Event handler for the Remove menu button getting clicked.
*----------------------------------------------------------------------------*/
void
LiveModeWindow :: onRemoveItemButtonClicked(void) throw ()
{
treeView->onRemoveMenuOption();
}
/*------------------------------------------------------------------------------ /*------------------------------------------------------------------------------
* Event handler called when the the window gets hidden. * Event handler called when the the window gets hidden.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/

View File

@ -267,7 +267,19 @@ class LiveModeWindow : public GuiWindow
*/ */
virtual void virtual void
onUploadToHub(void) throw (); onUploadToHub(void) throw ();
/**
* Signal handler for the clear list button clicked.
*/
virtual void
onClearListButtonClicked(void) throw ();
/**
* Signal handler for the remove item button clicked.
*/
virtual void
onRemoveItemButtonClicked(void) throw ();
/** /**
* Event handler called when the the window gets hidden. * Event handler called when the the window gets hidden.
* *

View File

@ -261,6 +261,9 @@ root:table
cuePlayerLabel:string { "Preview" } cuePlayerLabel:string { "Preview" }
clearListButtonLabel:string { "Clear list" }
removeButtonLabel:string { "Remove item(s)" }
cannotEditPlaylistMsg:string cannotEditPlaylistMsg:string
{ "Could not open playlist for editing." } { "Could not open playlist for editing." }
} }