void CommandUtils::InitKillKey() { SetKillKey(parseAccel(killcmd->accel)); if (killkey && FXSELID(killkey)) { temp_accels=new FXAccelTable(); temp_accels->addAccel(killkey,this,FXSEL(SEL_COMMAND,killcmd->sel),0); } else { FXMessageBox::warning(tw->getApp(), MBOX_OK, _("Configuration error"), "%s \"%s\"\n%s", _("Failed to parse accelerator for"), killcmd->pref, _("disabling support for macros and external commands.") ); temp_accels=NULL; } }
void ShortcutList::ApplyShortcut(FXHotKey acckey, MenuSpec*spec) { FXAccelTable*table=win->getAccelTable(); FXString accel=unparseAccel(acckey); if (spec->accel[0]) { FXHotKey old=parseAccel(spec->accel); if (table->hasAccel(old)) table->removeAccel(old); } mnumgr->SetAccelerator(spec,accel); if (spec->ms_mc) { spec->ms_mc->setAccelText(spec->accel); table->addAccel(acckey,spec->ms_mc->getTarget(),FXSEL(SEL_COMMAND,spec->sel)); } else { table->addAccel(acckey,win,FXSEL(SEL_COMMAND,spec->sel)); } UpdateListItem(spec); }
bool ShortcutList::DeleteShortcut(MenuSpec*spec) { FXHotKey acckey=parseAccel(spec->accel); FXAccelTable*table=win->getAccelTable(); if (!table->hasAccel(acckey)) { return true; } else { if (FXMessageBox::question(getShell(), MBOX_YES_NO, _("Confirm delete"), _("Are you sure you want to remove this keybinding?") )==MBOX_CLICKED_YES) { table->removeAccel(acckey); memset(spec->accel,0,sizeof(spec->accel)); UpdateListItem(spec); return true; } else { return false; } } }
GMRemote::GMRemote(FXApp* a,FXObject * tgt,FXSelector msg):FXMainWindow(a,"Goggles Music Manager",nullptr,nullptr,DECOR_BORDER|DECOR_TITLE|DECOR_CLOSE|DECOR_STRETCHABLE,0,0,0,0,3,3,3,3,3,3){ flags|=FLAG_ENABLED; cover=nullptr; setTarget(tgt); setSelector(msg); setIcon(GMIconTheme::instance()->icon_applogo); setMiniIcon(GMIconTheme::instance()->icon_applogo_small); FXFontDesc fontdescription = getApp()->getNormalFont()->getFontDesc(); fontdescription.weight = FXFont::Bold; fontdescription.size += 10; font_title = new FXFont(getApp(),fontdescription); font_title->create(); img_default = new FXPNGImage(getApp(),about_png); img_default->scale(64,64,FOX_SCALE_BEST); img_default->blend(getApp()->getBackColor()); img_default->create(); cover_label = new FXImageFrame(this,img_default,LAYOUT_SIDE_LEFT|FRAME_SUNKEN|LAYOUT_FIX_WIDTH|JUSTIFY_CENTER_X|JUSTIFY_CENTER_Y|LAYOUT_FILL_Y,0,0,64,64); cover_label->setBackColor(getApp()->getBackColor()); /// Popup Volume Menu volumecontrol = new FXPopup(this,POPUP_VERTICAL|FRAME_RAISED|FRAME_THICK|POPUP_SHRINKWRAP); volumeslider = new FXSlider(volumecontrol,this,GMRemote::ID_VOLUME_SLIDER,LAYOUT_FIX_HEIGHT|LAYOUT_FIX_WIDTH|SLIDER_VERTICAL|SLIDER_TICKS_RIGHT|SLIDER_TICKS_LEFT|SLIDER_INSIDE_BAR,0,0,20,100); volumeslider->setTickDelta(10); volumeslider->setRange(0,100); volumeslider->setIncrement(10); FXHorizontalFrame * buttons = new FXHorizontalFrame(this,LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X,0,0,0,0,3,3,0,0); new FXButton(buttons,tr("\tShow Browser\tShow Browser"),GMIconTheme::instance()->icon_home,GMPlayerManager::instance()->getMainWindow(),GMWindow::ID_SHOW_BROWSER,BUTTON_TOOLBAR|FRAME_RAISED|ICON_ABOVE_TEXT); new FXVerticalSeparator(buttons,LAYOUT_FILL_Y|SEPARATOR_GROOVE); new FXButton(buttons,tr("\tStart Playback\tStart Playback"),GMIconTheme::instance()->icon_play,GMPlayerManager::instance()->getMainWindow(),GMWindow::ID_PLAYPAUSEMENU,BUTTON_TOOLBAR|FRAME_RAISED|ICON_ABOVE_TEXT); new FXButton(buttons,tr("\tStop Playback\tStop Playback"),GMIconTheme::instance()->icon_stop,GMPlayerManager::instance()->getMainWindow(),GMWindow::ID_STOP,BUTTON_TOOLBAR|FRAME_RAISED|ICON_ABOVE_TEXT); new FXVerticalSeparator(buttons,LAYOUT_FILL_Y|SEPARATOR_GROOVE); new FXButton(buttons,tr("\tPlay Previous Track\tPlay previous track."),GMIconTheme::instance()->icon_prev,GMPlayerManager::instance()->getMainWindow(),GMWindow::ID_PREV,BUTTON_TOOLBAR|FRAME_RAISED|ICON_ABOVE_TEXT); new FXButton(buttons,tr("\tPlay Next Track\tPlay next track."),GMIconTheme::instance()->icon_next,GMPlayerManager::instance()->getMainWindow(),GMWindow::ID_NEXT,BUTTON_TOOLBAR|FRAME_RAISED|ICON_ABOVE_TEXT); new FXVerticalSeparator(buttons,LAYOUT_FILL_Y|SEPARATOR_GROOVE); time_label =new FX7Segment(buttons,"--:--",SEVENSEGMENT_SHADOW|LAYOUT_CENTER_Y); time_label->setCellWidth(10); time_label->setCellHeight(15); time_label->setTarget(this); time_label->setSelector(ID_TIME_LABEL); new FXVerticalSeparator(buttons,LAYOUT_FILL_Y|SEPARATOR_GROOVE); volumebutton = new FXMenuButton(buttons,tr("\tAdjust Volume\tAdjust Volume"),nullptr,volumecontrol,MENUBUTTON_NOARROWS|MENUBUTTON_ATTACH_LEFT|MENUBUTTON_UP|MENUBUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_CENTER_Y); volumebutton->setTarget(this); volumebutton->setSelector(ID_VOLUME_BUTTON); FXVerticalFrame * info = new FXVerticalFrame(this,LAYOUT_CENTER_Y|FRAME_NONE|LAYOUT_FILL_X,0,0,0,0,2,2,2,2,0,0); title_label = new FXTextField(info,20,nullptr,0,FRAME_NONE|TEXTFIELD_READONLY,0,0,0,0,0,0,0,0); title_label->setBackColor(getApp()->getBaseColor()); title_label->setFont(font_title); title_label->setDefaultCursor(getApp()->getDefaultCursor(DEF_ARROW_CURSOR)); title_label->setDragCursor(getApp()->getDefaultCursor(DEF_ARROW_CURSOR)); title_label->disable(); artistalbum_label = new FXTextField(info,30,nullptr,0,FRAME_NONE|TEXTFIELD_READONLY,0,0,0,0,0,0,0,0); artistalbum_label->setBackColor(getApp()->getBaseColor()); artistalbum_label->setDefaultCursor(getApp()->getDefaultCursor(DEF_ARROW_CURSOR)); trackslider = new GMTrackProgressBar(info,this,ID_TIMESLIDER,LAYOUT_FILL_X|LAYOUT_CENTER_Y|FRAME_RAISED,0,0,0,0,0,0,0,0); trackslider->setTotal(100000); trackslider->setDefaultCursor(GMIconTheme::instance()->cursor_hand); trackslider->setDragCursor(GMIconTheme::instance()->cursor_hand); getAccelTable()->addAccel(parseAccel("F11"),GMPlayerManager::instance()->getMainWindow(),FXSEL(SEL_COMMAND,GMWindow::ID_SHOW_BROWSER)); getAccelTable()->addAccel(parseAccel("Ctrl-M"),GMPlayerManager::instance()->getMainWindow(),FXSEL(SEL_COMMAND,GMWindow::ID_SHOW_BROWSER)); getAccelTable()->addAccel(parseAccel("Ctrl-W"),this,FXSEL(SEL_CLOSE,0)); getAccelTable()->addAccel(parseAccel("Ctrl-Q"),GMPlayerManager::instance()->getMainWindow(),FXSEL(SEL_COMMAND,GMWindow::ID_QUIT)); getAccelTable()->addAccel(parseAccel("Ctrl-P"),GMPlayerManager::instance()->getMainWindow(),FXSEL(SEL_COMMAND,GMWindow::ID_PLAYPAUSEMENU)); getAccelTable()->addAccel(parseAccel("Ctrl-\\"),GMPlayerManager::instance()->getMainWindow(),FXSEL(SEL_COMMAND,GMWindow::ID_STOP)); getAccelTable()->addAccel(parseAccel("Ctrl-["),GMPlayerManager::instance()->getMainWindow(),FXSEL(SEL_COMMAND,GMWindow::ID_PREV)); getAccelTable()->addAccel(parseAccel("Ctrl-]"),GMPlayerManager::instance()->getMainWindow(),FXSEL(SEL_COMMAND,GMWindow::ID_NEXT)); reset(); }