diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-09-08 19:04:20 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-09-08 19:04:20 +0300 |
commit | 55cd303c52a8fe524e15bd618bfcb02b8ff7dcb7 (patch) | |
tree | b67c78386ab9ed9bfe960a05bf1ea9b16d11a40b /src/ui/util.c | |
parent | bf7859acd90b398f0834e24e4675cad39806c2eb (diff) |
Cleanup
Diffstat (limited to 'src/ui/util.c')
-rw-r--r-- | src/ui/util.c | 91 |
1 files changed, 39 insertions, 52 deletions
diff --git a/src/ui/util.c b/src/ui/util.c index 0d9338b5..22d8bce4 100644 --- a/src/ui/util.c +++ b/src/ui/util.c | |||
@@ -1617,11 +1617,23 @@ iInputWidget *addTwoColumnDialogInputField_Widget(iWidget *headings, iWidget *va | |||
1617 | return input; | 1617 | return input; |
1618 | } | 1618 | } |
1619 | 1619 | ||
1620 | static void addDialogPadding_(iWidget *headings, iWidget *values) { | ||
1621 | const int bigGap = lineHeight_Text(uiLabel_FontId) * 3 / 4; | ||
1622 | addChild_Widget(headings, iClob(makePadding_Widget(bigGap))); | ||
1623 | addChild_Widget(values, iClob(makePadding_Widget(bigGap))); | ||
1624 | } | ||
1625 | |||
1620 | static void addPrefsInputWithHeading_(iWidget *headings, iWidget *values, | 1626 | static void addPrefsInputWithHeading_(iWidget *headings, iWidget *values, |
1621 | const char *id, iInputWidget *input) { | 1627 | const char *id, iInputWidget *input) { |
1622 | addDialogInputWithHeading_(headings, values, format_CStr("${%s}", id), id, input); | 1628 | addDialogInputWithHeading_(headings, values, format_CStr("${%s}", id), id, input); |
1623 | } | 1629 | } |
1624 | 1630 | ||
1631 | static void addDialogToggle_(iWidget *headings, iWidget *values, | ||
1632 | const char *heading, const char *toggleId) { | ||
1633 | addChild_Widget(headings, iClob(makeHeading_Widget(heading))); | ||
1634 | addChild_Widget(values, iClob(makeToggle_Widget(toggleId))); | ||
1635 | } | ||
1636 | |||
1625 | static size_t findWidestItemLabel_(const iMenuItem *items, size_t num) { | 1637 | static size_t findWidestItemLabel_(const iMenuItem *items, size_t num) { |
1626 | int widest = 0; | 1638 | int widest = 0; |
1627 | size_t widestPos = iInvalidPos; | 1639 | size_t widestPos = iInvalidPos; |
@@ -1830,9 +1842,9 @@ iWidget *makePreferences_Widget(void) { | |||
1830 | }; | 1842 | }; |
1831 | iString *aboutText = collectNew_String(); { | 1843 | iString *aboutText = collectNew_String(); { |
1832 | setCStr_String(aboutText, "Lagrange " LAGRANGE_APP_VERSION); | 1844 | setCStr_String(aboutText, "Lagrange " LAGRANGE_APP_VERSION); |
1833 | #if defined (iPlatformAppleMobile) | 1845 | #if defined (iPlatformAppleMobile) |
1834 | appendCStr_String(aboutText, " (" LAGRANGE_IOS_VERSION ")"); | 1846 | appendCStr_String(aboutText, " (" LAGRANGE_IOS_VERSION ")"); |
1835 | #endif | 1847 | #endif |
1836 | } | 1848 | } |
1837 | const iMenuItem aboutPanelItems[] = { | 1849 | const iMenuItem aboutPanelItems[] = { |
1838 | { format_CStr("heading text:%s", cstr_String(aboutText)) }, | 1850 | { format_CStr("heading text:%s", cstr_String(aboutText)) }, |
@@ -1842,8 +1854,8 @@ iWidget *makePreferences_Widget(void) { | |||
1842 | { "button text:" info_Icon " ${menu.aboutpages}", 0, 0, "!open url:about:about" }, | 1854 | { "button text:" info_Icon " ${menu.aboutpages}", 0, 0, "!open url:about:about" }, |
1843 | { "button text:" bug_Icon " ${menu.debug}", 0, 0, "!open url:about:debug" }, | 1855 | { "button text:" bug_Icon " ${menu.debug}", 0, 0, "!open url:about:debug" }, |
1844 | { NULL } | 1856 | { NULL } |
1845 | }; | 1857 | }; |
1846 | const iMenuItem items[] = { | 1858 | iWidget *dlg = makePanels_Mobile((iMenuItem[]){ |
1847 | { "panel icon:0x2699 id:heading.prefs.general", 0, 0, (const void *) generalPanelItems }, | 1859 | { "panel icon:0x2699 id:heading.prefs.general", 0, 0, (const void *) generalPanelItems }, |
1848 | { "panel icon:0x1f5a7 id:heading.prefs.network", 0, 0, (const void *) networkPanelItems }, | 1860 | { "panel icon:0x1f5a7 id:heading.prefs.network", 0, 0, (const void *) networkPanelItems }, |
1849 | { "panel text:" person_Icon " ${sidebar.identities}", 0, 0, (const void *) identityPanelItems }, | 1861 | { "panel text:" person_Icon " ${sidebar.identities}", 0, 0, (const void *) identityPanelItems }, |
@@ -1857,8 +1869,7 @@ iWidget *makePreferences_Widget(void) { | |||
1857 | { "padding" }, | 1869 | { "padding" }, |
1858 | { "panel text:" planet_Icon " ${menu.about}", 0, 0, (const void *) aboutPanelItems }, | 1870 | { "panel text:" planet_Icon " ${menu.about}", 0, 0, (const void *) aboutPanelItems }, |
1859 | { NULL } | 1871 | { NULL } |
1860 | }; | 1872 | }); |
1861 | iWidget *dlg = makeSplitMultiPanel_Mobile(items); | ||
1862 | setupSheetTransition_Mobile(dlg, iTrue); | 1873 | setupSheetTransition_Mobile(dlg, iTrue); |
1863 | return dlg; | 1874 | return dlg; |
1864 | } | 1875 | } |
@@ -1870,7 +1881,6 @@ iWidget *makePreferences_Widget(void) { | |||
1870 | setBackgroundColor_Widget(findChild_Widget(tabs, "tabs.buttons"), uiBackgroundSidebar_ColorId); | 1881 | setBackgroundColor_Widget(findChild_Widget(tabs, "tabs.buttons"), uiBackgroundSidebar_ColorId); |
1871 | setId_Widget(tabs, "prefs.tabs"); | 1882 | setId_Widget(tabs, "prefs.tabs"); |
1872 | iWidget *headings, *values; | 1883 | iWidget *headings, *values; |
1873 | const int bigGap = lineHeight_Text(uiLabel_FontId) * 3 / 4; | ||
1874 | /* General preferences. */ { | 1884 | /* General preferences. */ { |
1875 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.general}", '1', &headings, &values); | 1885 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.general}", '1', &headings, &values); |
1876 | #if defined (LAGRANGE_ENABLE_DOWNLOAD_EDIT) | 1886 | #if defined (LAGRANGE_ENABLE_DOWNLOAD_EDIT) |
@@ -1879,12 +1889,9 @@ iWidget *makePreferences_Widget(void) { | |||
1879 | iInputWidget *searchUrl; | 1889 | iInputWidget *searchUrl; |
1880 | addPrefsInputWithHeading_(headings, values, "prefs.searchurl", iClob(searchUrl = new_InputWidget(0))); | 1890 | addPrefsInputWithHeading_(headings, values, "prefs.searchurl", iClob(searchUrl = new_InputWidget(0))); |
1881 | setUrlContent_InputWidget(searchUrl, iTrue); | 1891 | setUrlContent_InputWidget(searchUrl, iTrue); |
1882 | addChild_Widget(headings, iClob(makePadding_Widget(bigGap))); | 1892 | addDialogPadding_(headings, values); |
1883 | addChild_Widget(values, iClob(makePadding_Widget(bigGap))); | 1893 | addDialogToggle_(headings, values, "${prefs.hoverlink}", "prefs.hoverlink"); |
1884 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.hoverlink}"))); | 1894 | addDialogToggle_(headings, values, "${prefs.archive.openindex}", "prefs.archive.openindex"); |
1885 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.hoverlink"))); | ||
1886 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.archive.openindex}"))); | ||
1887 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.archive.openindex"))); | ||
1888 | if (deviceType_App() != phone_AppDeviceType) { | 1895 | if (deviceType_App() != phone_AppDeviceType) { |
1889 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.pinsplit}"))); | 1896 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.pinsplit}"))); |
1890 | iWidget *pinSplit = new_Widget(); | 1897 | iWidget *pinSplit = new_Widget(); |
@@ -1895,8 +1902,7 @@ iWidget *makePreferences_Widget(void) { | |||
1895 | } | 1902 | } |
1896 | addChildFlags_Widget(values, iClob(pinSplit), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); | 1903 | addChildFlags_Widget(values, iClob(pinSplit), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); |
1897 | } | 1904 | } |
1898 | addChild_Widget(headings, iClob(makePadding_Widget(bigGap))); | 1905 | addDialogPadding_(headings, values); |
1899 | addChild_Widget(values, iClob(makePadding_Widget(bigGap))); | ||
1900 | /* UI languages. */ { | 1906 | /* UI languages. */ { |
1901 | iArray *uiLangs = collectNew_Array(sizeof(iMenuItem)); | 1907 | iArray *uiLangs = collectNew_Array(sizeof(iMenuItem)); |
1902 | pushBackN_Array(uiLangs, langItems, iElemCount(langItems) - 1); | 1908 | pushBackN_Array(uiLangs, langItems, iElemCount(langItems) - 1); |
@@ -1915,8 +1921,7 @@ iWidget *makePreferences_Widget(void) { | |||
1915 | /* User Interface. */ { | 1921 | /* User Interface. */ { |
1916 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.interface}", '2', &headings, &values); | 1922 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.interface}", '2', &headings, &values); |
1917 | #if defined (LAGRANGE_ENABLE_CUSTOM_FRAME) | 1923 | #if defined (LAGRANGE_ENABLE_CUSTOM_FRAME) |
1918 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.customframe}"))); | 1924 | addDialogToggle_(headings, values, "${prefs.customframe}", "prefs.customframe"); |
1919 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.customframe"))); | ||
1920 | #endif | 1925 | #endif |
1921 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.returnkey}"))); | 1926 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.returnkey}"))); |
1922 | /* Return key behaviors. */ { | 1927 | /* Return key behaviors. */ { |
@@ -1931,11 +1936,9 @@ iWidget *makePreferences_Widget(void) { | |||
1931 | setId_Widget(addChildFlags_Widget(values, iClob(returnKey), alignLeft_WidgetFlag), | 1936 | setId_Widget(addChildFlags_Widget(values, iClob(returnKey), alignLeft_WidgetFlag), |
1932 | "prefs.returnkey"); | 1937 | "prefs.returnkey"); |
1933 | } | 1938 | } |
1934 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.animate}"))); | 1939 | addDialogToggle_(headings, values, "${prefs.animate}", "prefs.animate"); |
1935 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.animate"))); | ||
1936 | makeTwoColumnHeading_("${heading.prefs.scrolling}", headings, values); | 1940 | makeTwoColumnHeading_("${heading.prefs.scrolling}", headings, values); |
1937 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.smoothscroll}"))); | 1941 | addDialogToggle_(headings, values, "${prefs.smoothscroll}", "prefs.smoothscroll"); |
1938 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.smoothscroll"))); | ||
1939 | /* Scroll speeds. */ { | 1942 | /* Scroll speeds. */ { |
1940 | for (int type = 0; type < max_ScrollType; type++) { | 1943 | for (int type = 0; type < max_ScrollType; type++) { |
1941 | const char *typeStr = (type == mouse_ScrollType ? "mouse" : "keyboard"); | 1944 | const char *typeStr = (type == mouse_ScrollType ? "mouse" : "keyboard"); |
@@ -1955,25 +1958,21 @@ iWidget *makePreferences_Widget(void) { | |||
1955 | values, iClob(scrollSpeed), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); | 1958 | values, iClob(scrollSpeed), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); |
1956 | } | 1959 | } |
1957 | } | 1960 | } |
1958 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.imageloadscroll}"))); | 1961 | addDialogToggle_(headings, values, "${prefs.imageloadscroll}", "prefs.imageloadscroll"); |
1959 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.imageloadscroll"))); | ||
1960 | if (deviceType_App() == phone_AppDeviceType) { | 1962 | if (deviceType_App() == phone_AppDeviceType) { |
1961 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.hidetoolbarscroll}"))); | 1963 | addDialogToggle_(headings, values, "${prefs.hidetoolbarscroll}", "prefs.hidetoolbarscroll"); |
1962 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.hidetoolbarscroll"))); | ||
1963 | } | 1964 | } |
1964 | makeTwoColumnHeading_("${heading.prefs.sizing}", headings, values); | 1965 | makeTwoColumnHeading_("${heading.prefs.sizing}", headings, values); |
1965 | addPrefsInputWithHeading_(headings, values, "prefs.uiscale", iClob(new_InputWidget(8))); | 1966 | addPrefsInputWithHeading_(headings, values, "prefs.uiscale", iClob(new_InputWidget(8))); |
1966 | if (deviceType_App() == desktop_AppDeviceType) { | 1967 | if (deviceType_App() == desktop_AppDeviceType) { |
1967 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.retainwindow}"))); | 1968 | addDialogToggle_(headings, values, "${prefs.retainwindow}", "prefs.retainwindow"); |
1968 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.retainwindow"))); | ||
1969 | } | 1969 | } |
1970 | } | 1970 | } |
1971 | /* Colors. */ { | 1971 | /* Colors. */ { |
1972 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.colors}", '3', &headings, &values); | 1972 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.colors}", '3', &headings, &values); |
1973 | makeTwoColumnHeading_("${heading.prefs.uitheme}", headings, values); | 1973 | makeTwoColumnHeading_("${heading.prefs.uitheme}", headings, values); |
1974 | #if defined (iPlatformApple) || defined (iPlatformMSys) | 1974 | #if defined (iPlatformApple) || defined (iPlatformMSys) |
1975 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.ostheme}"))); | 1975 | addDialogToggle_(headings, values, "${prefs.ostheme}", "prefs.ostheme"); |
1976 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.ostheme"))); | ||
1977 | #endif | 1976 | #endif |
1978 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.theme}"))); | 1977 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.theme}"))); |
1979 | iWidget *themes = new_Widget(); | 1978 | iWidget *themes = new_Widget(); |
@@ -2034,8 +2033,7 @@ iWidget *makePreferences_Widget(void) { | |||
2034 | addFontButtons_(values, "headingfont"); | 2033 | addFontButtons_(values, "headingfont"); |
2035 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.font}"))); | 2034 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.font}"))); |
2036 | addFontButtons_(values, "font"); | 2035 | addFontButtons_(values, "font"); |
2037 | addChild_Widget(headings, iClob(makePadding_Widget(bigGap))); | 2036 | addDialogPadding_(headings, values); |
2038 | addChild_Widget(values, iClob(makePadding_Widget(bigGap))); | ||
2039 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.mono}"))); | 2037 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.mono}"))); |
2040 | iWidget *mono = new_Widget(); { | 2038 | iWidget *mono = new_Widget(); { |
2041 | iWidget *tog; | 2039 | iWidget *tog; |
@@ -2067,8 +2065,7 @@ iWidget *makePreferences_Widget(void) { | |||
2067 | updateSize_LabelWidget((iLabelWidget *) tog); | 2065 | updateSize_LabelWidget((iLabelWidget *) tog); |
2068 | } | 2066 | } |
2069 | addChildFlags_Widget(values, iClob(boldLink), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); | 2067 | addChildFlags_Widget(values, iClob(boldLink), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); |
2070 | addChild_Widget(headings, iClob(makePadding_Widget(bigGap))); | 2068 | addDialogPadding_(headings, values); |
2071 | addChild_Widget(values, iClob(makePadding_Widget(bigGap))); | ||
2072 | /* Custom font. */ { | 2069 | /* Custom font. */ { |
2073 | iInputWidget *customFont = new_InputWidget(0); | 2070 | iInputWidget *customFont = new_InputWidget(0); |
2074 | setHint_InputWidget(customFont, "${hint.prefs.userfont}"); | 2071 | setHint_InputWidget(customFont, "${hint.prefs.userfont}"); |
@@ -2097,19 +2094,12 @@ iWidget *makePreferences_Widget(void) { | |||
2097 | addRadioButton_(quote, "prefs.quoteicon.0", "${prefs.quoteicon.line}", "quoteicon.set arg:0"); | 2094 | addRadioButton_(quote, "prefs.quoteicon.0", "${prefs.quoteicon.line}", "quoteicon.set arg:0"); |
2098 | } | 2095 | } |
2099 | addChildFlags_Widget(values, iClob(quote), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); | 2096 | addChildFlags_Widget(values, iClob(quote), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag); |
2100 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.biglede}"))); | 2097 | addDialogToggle_(headings, values, "${prefs.biglede}", "prefs.biglede"); |
2101 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.biglede"))); | 2098 | addDialogToggle_(headings, values, "${prefs.plaintext.wrap}", "prefs.plaintext.wrap"); |
2102 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.plaintext.wrap}"))); | 2099 | addDialogToggle_(headings, values, "${prefs.collapsepreonload}", "prefs.collapsepreonload"); |
2103 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.plaintext.wrap"))); | 2100 | addDialogPadding_(headings, values); |
2104 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.collapsepreonload}"))); | 2101 | addDialogToggle_(headings, values, "${prefs.sideicon}", "prefs.sideicon"); |
2105 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.collapsepreonload"))); | 2102 | addDialogToggle_(headings, values, "${prefs.centershort}", "prefs.centershort"); |
2106 | // makeTwoColumnHeading_("${heading.prefs.widelayout}", headings, values); | ||
2107 | addChild_Widget(headings, iClob(makePadding_Widget(bigGap))); | ||
2108 | addChild_Widget(values, iClob(makePadding_Widget(bigGap))); | ||
2109 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.sideicon}"))); | ||
2110 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.sideicon"))); | ||
2111 | addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.centershort}"))); | ||
2112 | addChild_Widget(values, iClob(makeToggle_Widget("prefs.centershort"))); | ||
2113 | } | 2103 | } |
2114 | /* Network. */ { | 2104 | /* Network. */ { |
2115 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.network}", '6', &headings, &values); | 2105 | appendTwoColumnTabPage_Widget(tabs, "${heading.prefs.network}", '6', &headings, &values); |
@@ -2181,12 +2171,9 @@ iWidget *makeBookmarkEditor_Widget(void) { | |||
2181 | addChild_Widget(dlg, iClob(makePadding_Widget(gap_UI))); | 2171 | addChild_Widget(dlg, iClob(makePadding_Widget(gap_UI))); |
2182 | addChild_Widget(dlg, iClob(makeTwoColumns_Widget(&headings, &values))); | 2172 | addChild_Widget(dlg, iClob(makeTwoColumns_Widget(&headings, &values))); |
2183 | makeTwoColumnHeading_("${heading.bookmark.tags}", headings, values); | 2173 | makeTwoColumnHeading_("${heading.bookmark.tags}", headings, values); |
2184 | addChild_Widget(headings, iClob(makeHeading_Widget("${bookmark.tag.home}"))); | 2174 | addDialogToggle_(headings, values, "${bookmark.tag.home}", "bmed.tag.home"); |
2185 | addChild_Widget(values, iClob(makeToggle_Widget("bmed.tag.home"))); | 2175 | addDialogToggle_(headings, values, "${bookmark.tag.remote}", "bmed.tag.remote"); |
2186 | addChild_Widget(headings, iClob(makeHeading_Widget("${bookmark.tag.remote}"))); | 2176 | addDialogToggle_(headings, values, "${bookmark.tag.linksplit}", "bmed.tag.linksplit"); |
2187 | addChild_Widget(values, iClob(makeToggle_Widget("bmed.tag.remote"))); | ||
2188 | addChild_Widget(headings, iClob(makeHeading_Widget("${bookmark.tag.linksplit}"))); | ||
2189 | addChild_Widget(values, iClob(makeToggle_Widget("bmed.tag.linksplit"))); | ||
2190 | arrange_Widget(dlg); | 2177 | arrange_Widget(dlg); |
2191 | for (int i = 0; i < 3; ++i) { | 2178 | for (int i = 0; i < 3; ++i) { |
2192 | as_Widget(inputs[i])->rect.size.x = 100 * gap_UI - headings->rect.size.x; | 2179 | as_Widget(inputs[i])->rect.size.x = 100 * gap_UI - headings->rect.size.x; |