After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 688515 - Bottom panel for plugin widgets is not shown
Bottom panel for plugin widgets is not shown
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: User Interface
HEAD
Other Linux
: Normal minor
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-11-17 06:40 UTC by radus
Modified: 2012-12-01 10:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test bottom panel plugin (1.27 KB, application/x-gzip)
2012-11-17 06:40 UTC, radus
  Details
Fix to show plugin bottom panel widgets (1.86 KB, patch)
2012-11-17 09:10 UTC, radus
none Details | Review

Description radus 2012-11-17 06:40:11 UTC
Created attachment 229212 [details]
Test bottom panel plugin

I tried creating a plugin that adds a frame to the MAIN_BOTTOM panel, but it is not shown. Simply changing from MAIN_BOTTOM to MAIN_TOP the widget location shows the frame.

I've attached a simple plugin to reproduce this problem.
Comment 1 radus 2012-11-17 09:10:34 UTC
Created attachment 229220 [details] [review]
Fix to show plugin bottom panel widgets

I've added a proposed fix for this. I duplicated the behaviour of the right sidebar plugin widget.
Comment 2 Jonathan Matthew 2012-12-01 09:08:28 UTC
There's no need for that at all. Commit 2b48fec makes the bottom container always shown. If there's nothing in it, it makes no visible difference.
Comment 3 radus 2012-12-01 09:32:16 UTC
Ok, then why isn't the frame I add to the bottom panel shown? I've added an example, this is what I do:

 def do_activate(self):
        self.main_frm = Gtk.Frame()
        self.main_frm.set_label("Bottom panel")
        self.main_frm.show()
        self.main_frm.set_size_request(200, 200)
        shell = self.object
        shell.add_widget(self.main_frm, RB.ShellUILocation.MAIN_BOTTOM, True, True)

The frame is not visible.
Comment 4 radus 2012-12-01 09:34:25 UTC
Also, just changing the ShellUILocation to RB.ShellUILocation.RIGHT_SIDEBAR, without any other changes to the code, makes the frame visible in the right sidebar. So, at the least, the behaviour is inconsistent between locations, if not bugged in the bottom panel.
Comment 5 radus 2012-12-01 09:48:14 UTC
Never mind, I just saw the last commit you made earlier.

Nonetheless, I can't get it to compile - 

rb-shell.c:700:2: error: passing argument 1 of 'gtk_widget_show' from incompatible pointer type [-Werror]
In file included from /usr/include/gtk-3.0/gtk/gtkapplication.h:27:0,
                 from /usr/include/gtk-3.0/gtk/gtkwindow.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkdialog.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from rb-shell.c:49:
/usr/include/gtk-3.0/gtk/gtkwidget.h:451:12: note: expected 'struct GtkWidget *' but argument is of type 'struct GtkBox *'

Probably just need to do a cast to GtkWidget.

Thanks a lot for looking at this.
Comment 6 Jonathan Matthew 2012-12-01 10:49:37 UTC
oops, not sure how I screwed that one up.. thanks for pointing it out.