aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gtk-info-popup.gob14
1 files changed, 14 insertions, 0 deletions
diff --git a/gtk-info-popup.gob b/gtk-info-popup.gob
index 54c62fb..914647a 100644
--- a/gtk-info-popup.gob
+++ b/gtk-info-popup.gob
@@ -102,11 +102,17 @@ class Gtk:Info:Popup from Gtk:Window {
};
GtkWidget *vbox = gtk_bin_get_child(GTK_BIN(self));
+ GdkScreen *screen = gtk_window_get_screen(GTK_WINDOW(self));
+ GtkRequisition req;
GtkWidget *hbox;
GtkWidget *label;
gchar *markup;
+ gtk_widget_size_request(GTK_WIDGET(self), &req);
+ if (req.height > gdk_screen_get_height(screen))
+ return;
+
hbox = gtk_hbox_new(FALSE, 5);
if (type2stock[type]) {
@@ -133,6 +139,14 @@ class Gtk:Info:Popup from Gtk:Window {
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show_all(hbox);
+
+ gtk_widget_size_request(GTK_WIDGET(self), &req);
+ if (req.height > gdk_screen_get_height(screen)) {
+ label = gtk_label_new("...");
+ gtk_box_pack_start(GTK_BOX(vbox), label,
+ FALSE, FALSE, 0);
+ gtk_widget_show(label);
+ }
}
public void