Hi all, I'm writing an extension that is a port of another program which comes with a Gtk .ui file defining a preferences dialog.
Since the dialog is all already nicely defined for me in the .ui file, I'd like to use it for: * prefs.js (GNOME 3.4 version) * I click a menu item and the dialog gets launched (from extension.js in GNOME 3.2). Now I have succeeded in the first case (launching from prefs.js) but am having trouble with the second, because if I just do `dialog.show_all()` from `extension.js` on my loaded dialog, nothing happens. This is what I'm doing to load all the widgets in the UI // load the UI - this is fine let builder = new Gtk.Builder() builder.add_from_file(GLib.build_filenamev([extensionPath, 'preferences.ui'])); Now for prefs.js since this doesn't want a dialog but a widget to embed, I can query for the vbox that is the first child of the dialog in the UI file - it's called 'dialog-vbox1': let widg = builder.get_object('dialog-vbox1'); widg.unparent(); widg.show_all(); If I return `widg` from `buildPrefsWidget` in `prefs.js`, that shows up in gnome-shell-extension-prefs nicely. Now on to the second problem - in my extension there is a PopupMenu and clicking on one the items should launch the widget. item.connect('activate', function () { let dialog = builder.get_object('pager_properties_dialog'); // the top-level widget in the UI file // TODO: ... connect up various events here ... dialog.show_all(); }); However, this doesn't work - nothing at all happens. Question - what do I do to get this dialog showing when launched from extension.js? I could re-implement the dialog into the PopupMenu but it seems like I could save a lot of work by just using the same UI file for everything. cheers! _______________________________________________ gnome-shell-list mailing list gnome-shell-list@gnome.org https://mail.gnome.org/mailman/listinfo/gnome-shell-list