diff options
| author | Alex Valavanis <valavanisalex@gmail.com> | 2012-05-21 10:01:41 +0000 |
|---|---|---|
| committer | Alex Valavanis <valavanisalex@gmail.com> | 2012-05-21 10:01:41 +0000 |
| commit | a89dd0f5f45c3df19c3d6756fef83ab06f3d5356 (patch) | |
| tree | ee629d7f9aefd38bccf3e5092830d6ca81e1ab1d /src | |
| parent | Extended control resizing to node editing. Fixes half of bug #172059. (diff) | |
| download | inkscape-a89dd0f5f45c3df19c3d6756fef83ab06f3d5356.tar.gz inkscape-a89dd0f5f45c3df19c3d6756fef83ab06f3d5356.zip | |
More size-request GTK+ 3 fixes
(bzr r11391)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.cpp | 18 | ||||
| -rw-r--r-- | src/ui/dialog/layers.cpp | 8 | ||||
| -rw-r--r-- | src/ui/widget/dock-item.cpp | 8 |
3 files changed, 28 insertions, 6 deletions
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 5280d8bbd..66149237a 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -77,7 +77,13 @@ InkscapePreferences::InkscapePreferences() sb->set_width_chars(6); _getContents()->add(*sb); show_all_children(); - Gtk::Requisition sreq = sb->size_request(); + Gtk::Requisition sreq; +#if WITH_GTKMM_3_0 + Gtk::Requisition sreq_natural; + sb->get_preferred_size(sreq_natural, sreq); +#else + sreq = sb->size_request(); +#endif _sb_width = sreq.width; _getContents()->remove(*sb); delete sb; @@ -1446,7 +1452,7 @@ void InkscapePreferences::initPageSystem() _sys_user_prefs.set_editable(false); _page_system.add_line(true, _("User preferences: "), _sys_user_prefs, "", _("Location of the users preferences file"), true); - _sys_user_extension_dir.set_text((char const *)get_path(IO::Resource::USER, IO::Resource::EXTENSIONS, "")); + _sys_user_extension_dir.set_text((char const *)IO::Resource::get_path(IO::Resource::USER, IO::Resource::EXTENSIONS, "")); _sys_user_extension_dir.set_editable(false); _page_system.add_line(true, _("User extensions: "), _sys_user_extension_dir, "", _("Location of the users extensions"), true); @@ -1512,7 +1518,13 @@ bool InkscapePreferences::SetMaxDialogSize(const Gtk::TreeModel::iterator& iter) DialogPage* page = row[_page_list_columns._col_page]; _page_frame.add(*page); this->show_all_children(); - Gtk:: Requisition sreq = this->size_request(); + Gtk::Requisition sreq; +#if WITH_GTKMM_3_0 + Gtk::Requisition sreq_natural; + this->get_preferred_size(sreq_natural, sreq); +#else + sreq = this->size_request(); +#endif _max_dialog_width=std::max(_max_dialog_width, sreq.width); _max_dialog_height=std::max(_max_dialog_height, sreq.height); _page_frame.remove(); diff --git a/src/ui/dialog/layers.cpp b/src/ui/dialog/layers.cpp index 3bd047ebc..6fb41fcbf 100644 --- a/src/ui/dialog/layers.cpp +++ b/src/ui/dialog/layers.cpp @@ -626,7 +626,13 @@ LayersPanel::LayersPanel() : _scroller.add( _tree ); _scroller.set_policy( Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC ); _scroller.set_shadow_type(Gtk::SHADOW_IN); - Gtk:: Requisition sreq = _scroller.size_request(); + Gtk::Requisition sreq; +#if WITH_GTKMM_3_0 + Gtk::Requisition sreq_natural; + _scroller.get_preferred_size(sreq_natural, sreq); +#else + sreq = _scroller.size_request(); +#endif int minHeight = 70; if (sreq.height < minHeight) { // Set a min height to see the layers when used with Ubuntu liboverlay-scrollbar diff --git a/src/ui/widget/dock-item.cpp b/src/ui/widget/dock-item.cpp index 238e93b0b..0f93968e5 100644 --- a/src/ui/widget/dock-item.cpp +++ b/src/ui/widget/dock-item.cpp @@ -168,10 +168,14 @@ DockItem::set_size_request(int width, int height) getWidget().set_size_request(width, height); } -void -DockItem::size_request(Gtk::Requisition& requisition) +void DockItem::size_request(Gtk::Requisition& requisition) { +#if WITH_GTKMM_3_0 + Gtk::Requisition req_natural; + getWidget().get_preferred_size(req_natural, requisition); +#else requisition = getWidget().size_request(); +#endif } void |
