summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-07-25 07:21:06 +0300
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-07-25 07:21:06 +0300
commit5bbc55ec38683a27d70145f7a4d48b763fbf51f5 (patch)
tree91cfd6baa8eed6e4f1f6049c9232904fb4632252 /src
parenta9f42435aa4b1bb559771548895328668b396ee3 (diff)
UploadWidget: Fixes and improvements
Fixed update after undo. Line wrap long destination URLs. Don't open a new upload dialog if one is already open.
Diffstat (limited to 'src')
-rw-r--r--src/ui/documentwidget.c3
-rw-r--r--src/ui/inputwidget.c3
-rw-r--r--src/ui/uploadwidget.c6
3 files changed, 9 insertions, 3 deletions
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index 8b4ee932..363dd357 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -2819,6 +2819,9 @@ static iBool handleCommand_DocumentWidget_(iDocumentWidget *d, const char *cmd)
2819 return wasHandled; 2819 return wasHandled;
2820 } 2820 }
2821 else if (equal_Command(cmd, "document.upload") && d == document_App()) { 2821 else if (equal_Command(cmd, "document.upload") && d == document_App()) {
2822 if (findChild_Widget(root_Widget(w), "upload")) {
2823 return iTrue; /* already open */
2824 }
2822 if (equalCase_Rangecc(urlScheme_String(d->mod.url), "gemini") || 2825 if (equalCase_Rangecc(urlScheme_String(d->mod.url), "gemini") ||
2823 equalCase_Rangecc(urlScheme_String(d->mod.url), "titan")) { 2826 equalCase_Rangecc(urlScheme_String(d->mod.url), "titan")) {
2824 iUploadWidget *upload = new_UploadWidget(); 2827 iUploadWidget *upload = new_UploadWidget();
diff --git a/src/ui/inputwidget.c b/src/ui/inputwidget.c
index bdce102a..9fbc8529 100644
--- a/src/ui/inputwidget.c
+++ b/src/ui/inputwidget.c
@@ -651,8 +651,9 @@ static iBool popUndo_InputWidget_(iInputWidget *d) {
651 splitToLines_(&undo->text, &d->lines); 651 splitToLines_(&undo->text, &d->lines);
652 d->cursor = undo->cursor; 652 d->cursor = undo->cursor;
653 deinit_InputUndo_(undo); 653 deinit_InputUndo_(undo);
654 popBack_Array(&d->undoStack); 654 popBack_Array(&d->undoStack);
655 iZap(d->mark); 655 iZap(d->mark);
656 updateAllLinesAndResizeHeight_InputWidget_(d);
656 return iTrue; 657 return iTrue;
657 } 658 }
658 return iFalse; 659 return iFalse;
diff --git a/src/ui/uploadwidget.c b/src/ui/uploadwidget.c
index 391a5800..6dca729c 100644
--- a/src/ui/uploadwidget.c
+++ b/src/ui/uploadwidget.c
@@ -76,7 +76,10 @@ void init_UploadWidget(iUploadWidget *d) {
76 addChildFlags_Widget(w, 76 addChildFlags_Widget(w,
77 iClob(new_LabelWidget(uiHeading_ColorEscape "${heading.upload}", NULL)), 77 iClob(new_LabelWidget(uiHeading_ColorEscape "${heading.upload}", NULL)),
78 frameless_WidgetFlag); 78 frameless_WidgetFlag);
79 d->info = addChildFlags_Widget(w, iClob(new_LabelWidget("", NULL)), frameless_WidgetFlag); 79 d->info = addChildFlags_Widget(w, iClob(new_LabelWidget("", NULL)),
80 frameless_WidgetFlag | resizeToParentWidth_WidgetFlag |
81 fixedHeight_WidgetFlag);
82 setWrap_LabelWidget(d->info, iTrue);
80 /* Tabs for input data. */ 83 /* Tabs for input data. */
81 iWidget *tabs = makeTabs_Widget(w); 84 iWidget *tabs = makeTabs_Widget(w);
82 /* Make the tabs support vertical expansion based on content. */ { 85 /* Make the tabs support vertical expansion based on content. */ {
@@ -176,7 +179,6 @@ static uint16_t titanPortForUrl_(const iString *url) {
176static void setUrlPort_UploadWidget_(iUploadWidget *d, const iString *url, uint16_t overridePort) { 179static void setUrlPort_UploadWidget_(iUploadWidget *d, const iString *url, uint16_t overridePort) {
177 set_String(&d->originalUrl, url); 180 set_String(&d->originalUrl, url);
178 iUrl parts; 181 iUrl parts;
179 const iString *root = collectNewRange_String(urlRoot_String(url));
180 init_Url(&parts, url); 182 init_Url(&parts, url);
181 setCStr_String(&d->url, "titan"); 183 setCStr_String(&d->url, "titan");
182 appendRange_String(&d->url, (iRangecc){ parts.scheme.end, parts.host.end }); 184 appendRange_String(&d->url, (iRangecc){ parts.scheme.end, parts.host.end });