ui_menu_toggleitem(.label = "Repeat", .varname = "repeat", .onchange = ActionPlayRepeat);
ui_menu_toggleitem(.label = "Repeat List", .varname = "repeatlist", .onchange = ActionPlayRepeatList);
ui_menu_toggleitem(.label = "Random Playback", .varname = "random", .onchange = ActionPlayRandomCB);
- ui_menu_toggleitem(.label = "Autoplay Folder", .varname = "autoplay", .onchange = ActionPlayRandomCB);
+ ui_menu_toggleitem(.label = "Autoplay Folder", .varname = "autoplay", .onchange = ActionPlayAutoPlayCB);
ui_menuseparator();
- ui_menuitem(.label = "Previous");
- ui_menuitem(.label = "Next");
+ ui_menuitem(.label = "Previous", .onclick = ActionPlayPreviousCB);
+ ui_menuitem(.label = "Next", .onclick = ActionPlayNextCB);
}
ui_menu("View") {
ui_menuitem(.label = "Fullscreen");
- ui_menu_toggleitem(.label = "View Sidebar", .varname = "sidebar");
+ ui_menu_toggleitem(.label = "View Sidebar", .varname = "sidebar", .onchange = ActionViewSidebarCB);
ui_menuseparator();
ui_menu_toggleitem(.label = "Adjust Window Size", .varname = "adjustwindowsize");
}
ui_set(win->_playbackRepeatList, 0);
ui_set(win->_playbackAutoPlay, 0);
ui_set(win->_playbackRandom, 0);
-
- XtVaSetValues(win->playRepeatListButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playAutoPlayButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playRandom, XmNset, 0, NULL); // TODO: remove
}
void ActionPlayRepeatList(UiEvent *event, void *userdata) {
ui_set(win->_playbackRepeat, 0);
ui_set(win->_playbackRandom, 0);
ui_set(win->_playbackAutoPlay, 0);
-
- XtVaSetValues(win->playRepeatTrackButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playAutoPlayButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playRandom, XmNset, 0, NULL); // TODO: remove
}
void ActionPlayAutoPlayCB(UiEvent *event, void *userdata) {
ui_set(win->_playbackRepeat, 0);
ui_set(win->_playbackRepeatList, 0);
ui_set(win->_playbackRandom, 0);
-
- XtVaSetValues(win->playRepeatTrackButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playRepeatListButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playRandom, XmNset, 0, NULL); // TODO: remove
}
void ActionPlayRandomCB(UiEvent *event, void *userdata) {
ui_set(win->_playbackRepeat, 0);
ui_set(win->_playbackRepeatList, 0);
ui_set(win->_playbackAutoPlay, 0);
-
- XtVaSetValues(win->playRepeatTrackButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playRepeatListButton, XmNset, 0, NULL); // TODO: remove
- XtVaSetValues(win->playAutoPlayButton, XmNset, 0, NULL); // TODO: remove
}
void ActionPlayPreviousCB(UiEvent *event, void *userdata) {
return;
}
MainWindow *win = event->window;
- win->sidebarvisible = event->intval;
WindowShowSidebar(win, event->intval);
}
static void FileOpenCB(Widget w, void *udata, void *cdata);
static void FileQuitCB(Widget w, void *udata, void *cdata);
-static void PlayRepeatCB(Widget w, void *udata, void *cdata);
-static void PlayRepeatListCB(Widget w, void *udata, void *cdata);
-static void PlayAutoPlayCB(Widget w, void *udata, void *cdata);
-static void PlayRandomCB(Widget w, void *udata, void *cdata);
-static void PlayPreviousCB(Widget w, void *udata, void *cdata);
-static void PlayNextCB(Widget w, void *udata, void *cdata);
static void ViewFullscreenCB(Widget w, void *udata, void *cdata);
static void ViewSidebarCB(Widget w, void *udata, void *cdata);
static void ViewAdjustWindowSizeCB(Widget w, void *udata, void *cdata);
}
#endif
}
+
+ WindowShowSidebar(window, FALSE);
/*
// toplevel window
return w;
}
-static void WindowCreateMenu(MainWindow *win, Widget parent, Arg *mbargs, int nmbargs) {
- Widget menubar = XmCreateMenuBar(parent, "menubar", mbargs, nmbargs);
- XtManageChild(menubar);
- win->menubar = menubar;
-
- Arg args[16];
- int n;
-
- // menus
- XmString s = XmStringCreateSimple("File");
- XtVaCreateManagedWidget(
- "menuitem",
- xmCascadeButtonWidgetClass,
- menubar,
- XmNlabelString, s,
- NULL);
- XmStringFree(s);
- Widget fileMenu = XmVaCreateSimplePulldownMenu(menubar, "menu", 0, NULL, NULL);
-
- s = XmStringCreateSimple("Playback");
- XtVaCreateManagedWidget(
- "menuitem",
- xmCascadeButtonWidgetClass,
- menubar,
- XmNlabelString, s,
- NULL);
- XmStringFree(s);
- Widget playMenu = XmVaCreateSimplePulldownMenu(menubar, "menu", 1, NULL, NULL);
-
- s = XmStringCreateSimple("View");
- Widget viewMenuItem = XtVaCreateManagedWidget(
- "menuitem",
- xmCascadeButtonWidgetClass,
- menubar,
- XmNlabelString, s,
- NULL);
- XmStringFree(s);
- Widget viewMenu = XmVaCreateSimplePulldownMenu(menubar, "menu", 2, NULL, NULL);
-
- s = XmStringCreateSimple("Preferences");
- Widget prefMenuItem = XtVaCreateManagedWidget(
- "menuitem",
- xmCascadeButtonWidgetClass,
- menubar,
- XmNlabelString, s,
- NULL);
- XmStringFree(s);
- Widget prefMenu = XmVaCreateSimplePulldownMenu(menubar, "menu", 3, NULL, NULL);
-
- // file menu
- createMenuItem(fileMenu, "fileOpen", "Open...", 'O', "Ctrl<Key>O", "Ctrl+O", FileOpenCB, NULL);
- createMenuItem(fileMenu, "fileQuit", "Exit", 'E', "Ctrl<Key>Q", "Ctrl+Q", FileQuitCB, NULL);
-
- // play menu
- win->playRepeatTrackButton = createToggleMenuItem(playMenu, "playRepeatTrack", "Repeat", 'R', False, NULL, NULL, PlayRepeatCB, win);
- win->playRepeatListButton = createToggleMenuItem(playMenu, "playRepeatList", "Repeat List", 'L', False, NULL, NULL, PlayRepeatListCB, win);
- win->playRandom = createToggleMenuItem(playMenu, "playRandom", "Random Playback", 'a', False, NULL, NULL, PlayRandomCB, win);
- win->playAutoPlayButton = createToggleMenuItem(playMenu, "playAutoNext", "Autoplay Folder", 'A', False, NULL, NULL, PlayAutoPlayCB, win);
- createMenuSeparator(playMenu);
- createMenuItem(playMenu, "playPrev", "Previous", 'P', NULL, NULL, PlayPreviousCB, win);
- createMenuItem(playMenu, "playPrev", "Next", 'N', NULL, NULL, PlayNextCB, win);
- XtVaSetValues(win->playRepeatTrackButton, XmNindicatorType, XmONE_OF_MANY, NULL);
- XtVaSetValues(win->playRepeatListButton, XmNindicatorType, XmONE_OF_MANY, NULL);
- XtVaSetValues(win->playAutoPlayButton, XmNindicatorType, XmONE_OF_MANY, NULL);
- XtVaSetValues(win->playRandom, XmNindicatorType, XmONE_OF_MANY, NULL);
-
- // view menu
- createMenuItem(viewMenu, "viewFullscreen", "Fullscreen", 'F', "<Key>F", "F", ViewFullscreenCB, NULL);
- win->viewSidebarButton = createToggleMenuItem(viewMenu, "viewSidebar", "View Sidebar", 'S', False, NULL, NULL, ViewSidebarCB, win);
-
- createMenuSeparator(viewMenu);
-
- win->viewAdjustWindowSize = createToggleMenuItem(viewMenu, "viewAdjustWindowSize", "Adjust Window Size", 'W', TRUE, NULL, NULL, ViewAdjustWindowSizeCB, win);
-
- // preferences menu
- win->prefSingleInstanceButton = createToggleMenuItem(prefMenu, "prefSingleInstance", "Single Instance", 'S', FALSE, NULL, NULL, PrefSingleInstanceCB, win);
-}
-
void go_fullscreen(Display *dsp, Window win)
{
XEvent xev;
ApplicationExit();
}
-static void PlayRepeatCB(Widget w, void *udata, void *cdata) {
- MainWindow *win = udata;
- win->playlist.playback = XmToggleButtonGadgetGetState(w) ? PLAYBACK_REPEAT : PLAYBACK_STOP;
- XtVaSetValues(win->playRepeatListButton, XmNset, 0, NULL);
- XtVaSetValues(win->playAutoPlayButton, XmNset, 0, NULL);
- XtVaSetValues(win->playRandom, XmNset, 0, NULL);
-}
-
-static void PlayRepeatListCB(Widget w, void *udata, void *cdata) {
- MainWindow *win = udata;
- win->playlist.playback = XmToggleButtonGadgetGetState(w) ? PLAYBACK_REPEAT_LIST : PLAYBACK_STOP;
- XtVaSetValues(win->playRepeatTrackButton, XmNset, 0, NULL);
- XtVaSetValues(win->playAutoPlayButton, XmNset, 0, NULL);
- XtVaSetValues(win->playRandom, XmNset, 0, NULL);
-}
-
-static void PlayAutoPlayCB(Widget w, void *udata, void *cdata) {
- MainWindow *win = udata;
- win->playlist.playback = XmToggleButtonGadgetGetState(w) ? PLAYBACK_AUTOPLAY : PLAYBACK_STOP;
- XtVaSetValues(win->playRepeatTrackButton, XmNset, 0, NULL);
- XtVaSetValues(win->playRepeatListButton, XmNset, 0, NULL);
- XtVaSetValues(win->playRandom, XmNset, 0, NULL);
-}
-
-static void PlayRandomCB(Widget w, void *udata, void *cdata) {
- MainWindow *win = udata;
- win->playlist.playback = XmToggleButtonGadgetGetState(w) ? PLAYBACK_RANDOM : PLAYBACK_STOP;
- XtVaSetValues(win->playRepeatTrackButton, XmNset, 0, NULL);
- XtVaSetValues(win->playRepeatListButton, XmNset, 0, NULL);
- XtVaSetValues(win->playAutoPlayButton, XmNset, 0, NULL);
-}
-
-static void PlayPreviousCB(Widget w, void *udata, void *cdata) {
- MainWindow *win = udata;
- PlayListPlayPrev(win);
-}
-
-static void PlayNextCB(Widget w, void *udata, void *cdata) {
- MainWindow *win = udata;
- PlayListPlayNext(win, true);
-}
-
static void ViewFullscreenCB(Widget w, void *udata, void *cdata) {
if(main_window->fullscreen) {
WindowFullscreen(main_window, FALSE);
}
void WindowShowSidebar(MainWindow *win, bool visible) {
- if(visible) {
- XtManageChild(win->sidebar_scrolledwindow);
- XtVaSetValues(win->player_widget, XmNrightAttachment, XmATTACH_WIDGET, XmNrightWidget, win->sidebar_scrolledwindow, NULL);
- } else {
- XtUnmanageChild(win->sidebar_scrolledwindow);
- XtVaSetValues(win->player_widget, XmNrightAttachment, XmATTACH_FORM, NULL);
- }
+ win->sidebarvisible = visible;
+ ui_set_visible(win->listview_scrolledwindow, visible);
}
void WindowUpdate(MainWindow *win) {