diff options
-rw-r--r-- | src/ui/labelwidget.c | 21 | ||||
-rw-r--r-- | src/ui/sidebarwidget.c | 17 |
2 files changed, 24 insertions, 14 deletions
diff --git a/src/ui/labelwidget.c b/src/ui/labelwidget.c index 5ad43b0e..4ace6204 100644 --- a/src/ui/labelwidget.c +++ b/src/ui/labelwidget.c | |||
@@ -492,6 +492,7 @@ int font_LabelWidget(const iLabelWidget *d) { | |||
492 | } | 492 | } |
493 | 493 | ||
494 | void updateSize_LabelWidget(iLabelWidget *d) { | 494 | void updateSize_LabelWidget(iLabelWidget *d) { |
495 | if (!d) return; | ||
495 | iWidget *w = as_Widget(d); | 496 | iWidget *w = as_Widget(d); |
496 | const int64_t flags = flags_Widget(w); | 497 | const int64_t flags = flags_Widget(w); |
497 | const iInt2 size = defaultSize_LabelWidget(d); | 498 | const iInt2 size = defaultSize_LabelWidget(d); |
@@ -562,18 +563,22 @@ void setTextColor_LabelWidget(iLabelWidget *d, int color) { | |||
562 | } | 563 | } |
563 | 564 | ||
564 | void setText_LabelWidget(iLabelWidget *d, const iString *text) { | 565 | void setText_LabelWidget(iLabelWidget *d, const iString *text) { |
565 | updateText_LabelWidget(d, text); | 566 | if (d) { |
566 | updateSize_LabelWidget(d); | 567 | updateText_LabelWidget(d, text); |
567 | if (isWrapped_LabelWidget(d)) { | 568 | updateSize_LabelWidget(d); |
568 | sizeChanged_LabelWidget_(d); | 569 | if (isWrapped_LabelWidget(d)) { |
570 | sizeChanged_LabelWidget_(d); | ||
571 | } | ||
569 | } | 572 | } |
570 | } | 573 | } |
571 | 574 | ||
572 | void setTextCStr_LabelWidget(iLabelWidget *d, const char *text) { | 575 | void setTextCStr_LabelWidget(iLabelWidget *d, const char *text) { |
573 | updateTextCStr_LabelWidget(d, text); | 576 | if (d) { |
574 | updateSize_LabelWidget(d); | 577 | updateTextCStr_LabelWidget(d, text); |
575 | if (isWrapped_LabelWidget(d)) { | 578 | updateSize_LabelWidget(d); |
576 | sizeChanged_LabelWidget_(d); | 579 | if (isWrapped_LabelWidget(d)) { |
580 | sizeChanged_LabelWidget_(d); | ||
581 | } | ||
577 | } | 582 | } |
578 | } | 583 | } |
579 | 584 | ||
diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c index fa0e16ea..07f1908c 100644 --- a/src/ui/sidebarwidget.c +++ b/src/ui/sidebarwidget.c | |||
@@ -251,12 +251,14 @@ static iBool isSlidingSheet_SidebarWidget_(const iSidebarWidget *d) { | |||
251 | static void setMobileEditMode_SidebarWidget_(iSidebarWidget *d, iBool editing) { | 251 | static void setMobileEditMode_SidebarWidget_(iSidebarWidget *d, iBool editing) { |
252 | iWidget *w = as_Widget(d); | 252 | iWidget *w = as_Widget(d); |
253 | d->isEditing = editing; | 253 | d->isEditing = editing; |
254 | setFlags_Widget(findChild_Widget(w, "sidebar.close"), hidden_WidgetFlag, editing); | 254 | if (d->actions) { |
255 | setFlags_Widget(child_Widget(d->actions, 0), hidden_WidgetFlag, !editing); | 255 | setFlags_Widget(findChild_Widget(w, "sidebar.close"), hidden_WidgetFlag, editing); |
256 | setTextCStr_LabelWidget(child_Widget(as_Widget(d->actions), 2), | 256 | setFlags_Widget(child_Widget(d->actions, 0), hidden_WidgetFlag, !editing); |
257 | editing ? "${sidebar.close}" : "${sidebar.action.bookmarks.edit}"); | 257 | setTextCStr_LabelWidget(child_Widget(as_Widget(d->actions), 2), |
258 | setDragHandleWidth_ListWidget(d->list, editing ? itemHeight_ListWidget(d->list) * 3 / 2 : 0); | 258 | editing ? "${sidebar.close}" : "${sidebar.action.bookmarks.edit}"); |
259 | arrange_Widget(d->actions); | 259 | setDragHandleWidth_ListWidget(d->list, editing ? itemHeight_ListWidget(d->list) * 3 / 2 : 0); |
260 | arrange_Widget(d->actions); | ||
261 | } | ||
260 | } | 262 | } |
261 | 263 | ||
262 | static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepActions) { | 264 | static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepActions) { |
@@ -698,6 +700,9 @@ iBool setMode_SidebarWidget(iSidebarWidget *d, enum iSidebarMode mode) { | |||
698 | d->mode == documentOutline_SidebarMode ? tmBannerBackground_ColorId | 700 | d->mode == documentOutline_SidebarMode ? tmBannerBackground_ColorId |
699 | : uiBackgroundSidebar_ColorId); | 701 | : uiBackgroundSidebar_ColorId); |
700 | updateItemHeight_SidebarWidget_(d); | 702 | updateItemHeight_SidebarWidget_(d); |
703 | if (deviceType_App() != desktop_AppDeviceType && mode != bookmarks_SidebarMode) { | ||
704 | setMobileEditMode_SidebarWidget_(d, iFalse); | ||
705 | } | ||
701 | /* Restore previous scroll position. */ | 706 | /* Restore previous scroll position. */ |
702 | setScrollPos_ListWidget(list_SidebarWidget_(d), d->modeScroll[mode]); | 707 | setScrollPos_ListWidget(list_SidebarWidget_(d), d->modeScroll[mode]); |
703 | /* Title of the mobile sliding sheet. */ | 708 | /* Title of the mobile sliding sheet. */ |