summaryrefslogtreecommitdiff
path: root/src/ui/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/util.c')
-rw-r--r--src/ui/util.c37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/ui/util.c b/src/ui/util.c
index 05b3c930..e638e596 100644
--- a/src/ui/util.c
+++ b/src/ui/util.c
@@ -126,6 +126,7 @@ iWidget *makePadding_Widget(int size) {
126iLabelWidget *makeHeading_Widget(const char *text) { 126iLabelWidget *makeHeading_Widget(const char *text) {
127 iLabelWidget *heading = new_LabelWidget(text, 0, 0, NULL); 127 iLabelWidget *heading = new_LabelWidget(text, 0, 0, NULL);
128 setFlags_Widget(as_Widget(heading), frameless_WidgetFlag | fixedSize_WidgetFlag, iTrue); 128 setFlags_Widget(as_Widget(heading), frameless_WidgetFlag | fixedSize_WidgetFlag, iTrue);
129 setBackgroundColor_Widget(as_Widget(heading), none_ColorId);
129 return heading; 130 return heading;
130} 131}
131 132
@@ -166,7 +167,7 @@ static iBool menuHandler_(iWidget *menu, const char *cmd) {
166iWidget *makeMenu_Widget(iWidget *parent, const iMenuItem *items, size_t n) { 167iWidget *makeMenu_Widget(iWidget *parent, const iMenuItem *items, size_t n) {
167 iWidget *menu = new_Widget(); 168 iWidget *menu = new_Widget();
168 setFrameColor_Widget(menu, black_ColorId); 169 setFrameColor_Widget(menu, black_ColorId);
169 setBackgroundColor_Widget(menu, gray25_ColorId); 170 setBackgroundColor_Widget(menu, uiBackground_ColorId);
170 setFlags_Widget(menu, 171 setFlags_Widget(menu,
171 keepOnTop_WidgetFlag | collapse_WidgetFlag | hidden_WidgetFlag | 172 keepOnTop_WidgetFlag | collapse_WidgetFlag | hidden_WidgetFlag |
172 arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag | 173 arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag |
@@ -477,7 +478,7 @@ iWidget *makeSheet_Widget(const char *id) {
477 iWidget *sheet = new_Widget(); 478 iWidget *sheet = new_Widget();
478 setId_Widget(sheet, id); 479 setId_Widget(sheet, id);
479 setFrameColor_Widget(sheet, black_ColorId); 480 setFrameColor_Widget(sheet, black_ColorId);
480 setBackgroundColor_Widget(sheet, gray25_ColorId); 481 setBackgroundColor_Widget(sheet, uiBackground_ColorId);
481 setFlags_Widget( 482 setFlags_Widget(
482 sheet, keepOnTop_WidgetFlag | arrangeVertical_WidgetFlag | arrangeHeight_WidgetFlag, iTrue); 483 sheet, keepOnTop_WidgetFlag | arrangeVertical_WidgetFlag | arrangeHeight_WidgetFlag, iTrue);
483 const iInt2 rootSize = rootSize_Window(get_Window()); 484 const iInt2 rootSize = rootSize_Window(get_Window());
@@ -600,7 +601,7 @@ iWidget *makeValueInput_Widget(iWidget *parent, const iString *initialValue, con
600 setFlags_Widget(div, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue); 601 setFlags_Widget(div, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue);
601 addChild_Widget(div, iClob(new_LabelWidget("Cancel", SDLK_ESCAPE, 0, "cancel"))); 602 addChild_Widget(div, iClob(new_LabelWidget("Cancel", SDLK_ESCAPE, 0, "cancel")));
602 addChild_Widget(div, 603 addChild_Widget(div,
603 iClob(new_LabelWidget(acceptLabel ? acceptLabel : cyan_ColorEscape "OK", 604 iClob(new_LabelWidget(acceptLabel ? acceptLabel : uiTextAction_ColorEscape "OK",
604 SDLK_RETURN, 605 SDLK_RETURN,
605 0, 606 0,
606 "valueinput.accept"))); 607 "valueinput.accept")));
@@ -641,8 +642,8 @@ iWidget *makeQuestion_Widget(const char *title,
641// processEvents_App(postedEventsOnly_AppEventMode); 642// processEvents_App(postedEventsOnly_AppEventMode);
642 iWidget *dlg = makeSheet_Widget(""); 643 iWidget *dlg = makeSheet_Widget("");
643 setCommandHandler_Widget(dlg, messageHandler_); 644 setCommandHandler_Widget(dlg, messageHandler_);
644 addChild_Widget(dlg, iClob(new_LabelWidget(title, 0, 0, NULL))); 645 addChildFlags_Widget(dlg, iClob(new_LabelWidget(title, 0, 0, NULL)), frameless_WidgetFlag);
645 addChild_Widget(dlg, iClob(new_LabelWidget(msg, 0, 0, NULL))); 646 addChildFlags_Widget(dlg, iClob(new_LabelWidget(msg, 0, 0, NULL)), frameless_WidgetFlag);
646 addChild_Widget(dlg, iClob(makePadding_Widget(gap_UI))); 647 addChild_Widget(dlg, iClob(makePadding_Widget(gap_UI)));
647 iWidget *div = new_Widget(); { 648 iWidget *div = new_Widget(); {
648 setFlags_Widget(div, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue); 649 setFlags_Widget(div, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue);
@@ -685,14 +686,25 @@ iWidget *makeToggle_Widget(const char *id) {
685 686
686iWidget *makePreferences_Widget(void) { 687iWidget *makePreferences_Widget(void) {
687 iWidget *dlg = makeSheet_Widget("prefs"); 688 iWidget *dlg = makeSheet_Widget("prefs");
688 addChild_Widget(dlg, iClob(new_LabelWidget(cyan_ColorEscape "PREFERENCES", 0, 0, NULL))); 689 addChildFlags_Widget(dlg,
690 iClob(new_LabelWidget(uiHeading_ColorEscape "PREFERENCES", 0, 0, NULL)),
691 frameless_WidgetFlag);
689 iWidget *page = new_Widget(); 692 iWidget *page = new_Widget();
690 addChild_Widget(dlg, iClob(page)); 693 addChild_Widget(dlg, iClob(page));
691 setFlags_Widget(page, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue); 694 setFlags_Widget(page, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue);
692 iWidget *headings = addChildFlags_Widget( 695 iWidget *headings = addChildFlags_Widget(
693 page, iClob(new_Widget()), arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag); 696 page, iClob(new_Widget()), arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag);
694 iWidget *values = addChildFlags_Widget( 697 iWidget *values = addChildFlags_Widget(
695 page, iClob(new_Widget()), arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag); 698 page, iClob(new_Widget()), arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag);
699// setBackgroundColor_Widget(headings, none_ColorId);
700// setBackgroundColor_Widget(values, none_ColorId);
701 addChild_Widget(headings, iClob(makeHeading_Widget("Theme:")));
702 iWidget *themes = new_Widget();
703 /* Themes. */ {
704 setId_Widget(addChild_Widget(themes, iClob(new_LabelWidget("Dark", 0, 0, "theme.set arg:0"))), "prefs.theme.0");
705 setId_Widget(addChild_Widget(themes, iClob(new_LabelWidget("Light", 0, 0, "theme.set arg:1"))), "prefs.theme.1");
706 }
707 addChildFlags_Widget(values, iClob(themes), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag);
696 addChild_Widget(headings, iClob(makeHeading_Widget("Retain window size:"))); 708 addChild_Widget(headings, iClob(makeHeading_Widget("Retain window size:")));
697 addChild_Widget(values, iClob(makeToggle_Widget("prefs.retainwindow"))); 709 addChild_Widget(values, iClob(makeToggle_Widget("prefs.retainwindow")));
698 addChild_Widget(headings, iClob(makeHeading_Widget("UI scale factor:"))); 710 addChild_Widget(headings, iClob(makeHeading_Widget("UI scale factor:")));
@@ -711,7 +723,9 @@ iWidget *makePreferences_Widget(void) {
711 723
712iWidget *makeBookmarkEditor_Widget(void) { 724iWidget *makeBookmarkEditor_Widget(void) {
713 iWidget *dlg = makeSheet_Widget("bmed"); 725 iWidget *dlg = makeSheet_Widget("bmed");
714 addChild_Widget(dlg, iClob(new_LabelWidget(cyan_ColorEscape "EDIT BOOKMARK", 0, 0, NULL))); 726 addChildFlags_Widget(dlg,
727 iClob(new_LabelWidget(uiHeading_ColorEscape "EDIT BOOKMARK", 0, 0, NULL)),
728 frameless_WidgetFlag);
715 iWidget *page = new_Widget(); 729 iWidget *page = new_Widget();
716 addChild_Widget(dlg, iClob(page)); 730 addChild_Widget(dlg, iClob(page));
717 setFlags_Widget(page, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue); 731 setFlags_Widget(page, arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag, iTrue);
@@ -720,13 +734,16 @@ iWidget *makeBookmarkEditor_Widget(void) {
720 iWidget *values = addChildFlags_Widget( 734 iWidget *values = addChildFlags_Widget(
721 page, iClob(new_Widget()), arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag); 735 page, iClob(new_Widget()), arrangeVertical_WidgetFlag | arrangeSize_WidgetFlag);
722 iInputWidget *inputs[4]; 736 iInputWidget *inputs[4];
723 addChild_Widget(headings, iClob(makeHeading_Widget("Title:"))); 737 iWidget *hd;
738 addChild_Widget(headings, iClob(hd = makeHeading_Widget("Title:")));
724 setId_Widget(addChild_Widget(values, iClob(inputs[0] = new_InputWidget(0))), "bmed.title"); 739 setId_Widget(addChild_Widget(values, iClob(inputs[0] = new_InputWidget(0))), "bmed.title");
725 addChild_Widget(headings, iClob(makeHeading_Widget("URL:"))); 740 addChild_Widget(headings, iClob(makeHeading_Widget("URL:")));
726 setId_Widget(addChild_Widget(values, iClob(inputs[1] = new_InputWidget(0))), "bmed.url"); 741 setId_Widget(addChild_Widget(values, iClob(inputs[1] = new_InputWidget(0))), "bmed.url");
727 addChild_Widget(headings, iClob(makeHeading_Widget("Tags:"))); 742 addChild_Widget(headings, iClob(makeHeading_Widget("Tags:")));
728 setId_Widget(addChild_Widget(values, iClob(inputs[2] = new_InputWidget(0))), "bmed.tags"); 743 setId_Widget(addChild_Widget(values, iClob(inputs[2] = new_InputWidget(0))), "bmed.tags");
729 arrange_Widget(dlg); 744 arrange_Widget(dlg);
745 /* TODO: Heights don't match here. */
746 printf("hd:%d inp:%d\n", hd->rect.size.y, as_Widget(inputs[0])->rect.size.y); fflush(stdout);
730 for (int i = 0; i < 3; ++i) { 747 for (int i = 0; i < 3; ++i) {
731 as_Widget(inputs[i])->rect.size.x = dlg->rect.size.x - headings->rect.size.x - 3 * gap_UI; 748 as_Widget(inputs[i])->rect.size.x = dlg->rect.size.x - headings->rect.size.x - 3 * gap_UI;
732 } 749 }
@@ -736,7 +753,7 @@ iWidget *makeBookmarkEditor_Widget(void) {
736 addChild_Widget( 753 addChild_Widget(
737 div, 754 div,
738 iClob(new_LabelWidget( 755 iClob(new_LabelWidget(
739 orange_ColorEscape "Save", SDLK_RETURN, KMOD_PRIMARY, "bmed.accept"))); 756 uiTextCaution_ColorEscape "Save", SDLK_RETURN, KMOD_PRIMARY, "bmed.accept")));
740 } 757 }
741 addChild_Widget(dlg, iClob(div)); 758 addChild_Widget(dlg, iClob(div));
742 addChild_Widget(get_Window()->root, iClob(dlg)); 759 addChild_Widget(get_Window()->root, iClob(dlg));