Allow to show profile name in url bar.
authorDaniel Carl <danielcarl@gmx.de>
Mon, 21 Sep 2015 18:20:29 +0000 (20:20 +0200)
committerDaniel Carl <danielcarl@gmx.de>
Mon, 21 Sep 2015 18:20:29 +0000 (20:20 +0200)
src/config.def.h
src/main.c

index cdbe177..97531bf 100644 (file)
@@ -36,6 +36,8 @@
 #define FEATURE_TITLE_PROGRESS
 /* should the history indicator [+-] be shown in status bar after url */
 #define FEATURE_HISTORY_INDICATOR
+/* should the profile name be shown before url in url bar */
+#define FEATURE_PROFILE_INDICATOR
 /* show wget style progressbar in status bar */
 #define FEATURE_WGET_PROGRESS_BAR
 #ifdef HAS_GTK3
index 94021cb..20143d1 100644 (file)
@@ -547,24 +547,34 @@ void vb_update_input_style(void)
 void vb_update_urlbar(const char *uri)
 {
     Gui *gui = &vb.gui;
+#if !defined(FEATURE_HISTORY_INDICATOR) && !defined(FEATURE_PROFILE_INDICATOR)
+    /* if only the uri is shown - write it like it is on the label */
+    gtk_label_set_text(GTK_LABEL(gui->statusbar.left), uri);
+#else
+    GString *str = g_string_new("");
+#ifdef FEATURE_PROFILE_INDICATOR
+    if (vb.config.profile) {
+        g_string_append_printf(str, "[%s] ", vb.config.profile);
+    }
+#endif /* FEATURE_PROFILE_INDICATOR */
+
+    g_string_append_printf(str, "%s", uri);
+
 #ifdef FEATURE_HISTORY_INDICATOR
     gboolean back, fwd;
-    char *str;
 
     back = webkit_web_view_can_go_back(gui->webview);
     fwd  = webkit_web_view_can_go_forward(gui->webview);
 
     /* show history indicator only if there is something to show */
     if (back || fwd) {
-        str = g_strdup_printf("%s [%s]", uri, back ? (fwd ? "-+" : "-") : "+");
-        gtk_label_set_text(GTK_LABEL(gui->statusbar.left), str);
-        g_free(str);
-    } else {
-        gtk_label_set_text(GTK_LABEL(gui->statusbar.left), uri);
+        g_string_append_printf(str, " [%s]", back ? (fwd ? "-+" : "-") : "+");
     }
-#else
-    gtk_label_set_text(GTK_LABEL(gui->statusbar.left), uri);
-#endif
+#endif /* FEATURE_HISTORY_INDICATOR */
+
+    gtk_label_set_text(GTK_LABEL(gui->statusbar.left), str->str);
+    g_string_free(str, true);
+#endif /* !defined(FEATURE_HISTORY_INDICATOR) && !defined(FEATURE_PROFILE_INDICATOR) */
 }
 
 void vb_update_mode_label(const char *label)