summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9bddaf7)
raw | patch | inline | side by side (parent: 9bddaf7)
| author | joncruz <joncruz@users.sourceforge.net> | |
| Wed, 20 Feb 2008 09:11:27 +0000 (09:11 +0000) | ||
| committer | joncruz <joncruz@users.sourceforge.net> | |
| Wed, 20 Feb 2008 09:11:27 +0000 (09:11 +0000) |
index 1716a7cd65be1257a3e3b7fd559fb5d908dc1de0..d90137a04a6f59334ae82f952a57c745672b4adc 100644 (file)
#define FOCUS_PROP_ID 1
+/* Keep in sycn with last value in eek-preview.h */
+#define PREVIEW_SIZE_LAST PREVIEW_SIZE_HUGE
+#define PREVIEW_SIZE_NEXTFREE (PREVIEW_SIZE_HUGE + 1)
static void eek_preview_class_init( EekPreviewClass *klass );
return preview_type;
}
-static guint trackCount = 0;
-static guint* trackSizes = 0;
-static GtkIconSize* trackKeys = 0;
+static gboolean setupDone = FALSE;
+static GtkRequisition sizeThings[PREVIEW_SIZE_NEXTFREE];
void eek_preview_set_size_mappings( guint count, GtkIconSize const* sizes )
{
delta = largest - smallest;
- if ( trackSizes ) {
- g_free(trackSizes);
- trackSizes = 0;
- }
- if ( trackKeys ) {
- g_free(trackKeys);
- trackKeys = 0;
+ for ( i = 0; i < G_N_ELEMENTS(sizeThings); ++i ) {
+ guint val = smallest + ( (i * delta) / (G_N_ELEMENTS(sizeThings) - 1) );
+ sizeThings[i].width = val;
+ sizeThings[i].height = val;
}
- trackCount = count;
- trackSizes = g_new(guint, count);
- trackKeys = g_new(GtkIconSize, count);
- for ( i = 0; i < count; ++i ) {
- guint val = smallest + ( (i * delta) / (count-1) );
- trackKeys[i] = sizes[i];
- trackSizes[i] = val;
- }
-}
-
-GtkWidget* eek_preview_area_new(void)
-{
- return NULL;
+ setupDone = TRUE;
}
static void eek_preview_size_request( GtkWidget* widget, GtkRequisition* req )
@@ -148,29 +135,25 @@ static void eek_preview_size_request( GtkWidget* widget, GtkRequisition* req )
gint width = 0;
gint height = 0;
EekPreview* preview = EEK_PREVIEW(widget);
- gboolean tracked = TRUE;
- guint i = 0;
- for ( i = 0; i < trackCount; ++i ) {
- tracked = (trackKeys[i] == preview->_size);
- if ( tracked ) {
- width = trackSizes[i];
- height = width;
- break;
- }
+ if ( !setupDone ) {
+ GtkIconSize sizes[] = {
+ GTK_ICON_SIZE_MENU,
+ GTK_ICON_SIZE_SMALL_TOOLBAR,
+ GTK_ICON_SIZE_LARGE_TOOLBAR,
+ GTK_ICON_SIZE_BUTTON,
+ GTK_ICON_SIZE_DIALOG
+ };
+ eek_preview_set_size_mappings( G_N_ELEMENTS(sizes), sizes );
}
- if ( !tracked ) {
- gboolean worked = gtk_icon_size_lookup( preview->_size, &width, &height );
- if ( !worked ) {
- width = 16;
- height = 16;
- g_warning("Size not found [%d]", preview->_size);
- }
- }
+ width = sizeThings[preview->_size].width;
+ height = sizeThings[preview->_size].height;
+
if ( preview->_view == VIEW_TYPE_LIST ) {
width *= 3;
}
+
req->width = width;
req->height = height;
}
@@ -599,10 +582,14 @@ void eek_preview_set_focus_on_click( EekPreview* preview, gboolean focus_on_clic
}
}
-void eek_preview_set_details( EekPreview* preview, PreviewStyle prevstyle, ViewType view, GtkIconSize size )
+void eek_preview_set_details( EekPreview* preview, PreviewStyle prevstyle, ViewType view, PreviewSize size )
{
preview->_prevstyle = prevstyle;
preview->_view = view;
+
+ if ( size > PREVIEW_SIZE_LAST ) {
+ size = PREVIEW_SIZE_LAST;
+ }
preview->_size = size;
gtk_widget_queue_draw(GTK_WIDGET(preview));
preview->_prevstyle = PREVIEW_STYLE_ICON;
preview->_view = VIEW_TYPE_LIST;
- preview->_size = GTK_ICON_SIZE_BUTTON;
+ preview->_size = PREVIEW_SIZE_SMALL;
/*
GdkColor color = {0};
index ff2fb78f30aa81a4b78cec45b7aeb356d4f22792..b2f8359f344a854ffc1abeb5eff9ac0668dcf97b 100644 (file)
*
* The Initial Developer of the Original Code is
* Jon A. Cruz.
- * Portions created by the Initial Developer are Copyright (C) 2005
+ * Portions created by the Initial Developer are Copyright (C) 2005-2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
VIEW_TYPE_GRID
} ViewType;
+typedef enum {
+ PREVIEW_SIZE_TINY = 0,
+ PREVIEW_SIZE_SMALL,
+ PREVIEW_SIZE_MEDIUM,
+ PREVIEW_SIZE_BIG,
+ PREVIEW_SIZE_BIGGER,
+ PREVIEW_SIZE_HUGE
+} PreviewSize;
+
typedef enum {
PREVIEW_LINK_NONE = 0,
PREVIEW_LINK_IN = 1,
PreviewStyle _prevstyle;
ViewType _view;
- GtkIconSize _size;
+ PreviewSize _size;
guint _linked;
};
GType eek_preview_get_type(void) G_GNUC_CONST;
GtkWidget* eek_preview_new(void);
-void eek_preview_set_details( EekPreview* splat, PreviewStyle prevstyle, ViewType view, GtkIconSize size );
+void eek_preview_set_details( EekPreview* splat, PreviewStyle prevstyle, ViewType view, PreviewSize size );
void eek_preview_set_color( EekPreview* splat, int r, int g, int b );
void eek_preview_set_linked( EekPreview* splat, LinkType link );
index 709bce25a06f92193b9b4932ce44f27f9448cbd8..28c21e270d8dce6f8aba35c4a9cb8e9f0ab9bbfd 100644 (file)
--- a/src/dialogs/swatches.cpp
+++ b/src/dialogs/swatches.cpp
}
-Gtk::Widget* ColorItem::getPreview(PreviewStyle style, ViewType view, Inkscape::IconSize size)
+Gtk::Widget* ColorItem::getPreview(PreviewStyle style, ViewType view, ::PreviewSize size)
{
Gtk::Widget* widget = 0;
if ( style == PREVIEW_STYLE_BLURB ) {
@@ -522,7 +522,7 @@ Gtk::Widget* ColorItem::getPreview(PreviewStyle style, ViewType view, Inkscape::
eek_preview_set_color( preview, (def.getR() << 8) | def.getR(), (def.getG() << 8) | def.getG(), (def.getB() << 8) | def.getB());
- eek_preview_set_details( preview, (::PreviewStyle)style, (::ViewType)view, (::GtkIconSize)size );
+ eek_preview_set_details( preview, (::PreviewStyle)style, (::ViewType)view, (::PreviewSize)size );
eek_preview_set_linked( preview, (LinkType)((_linkSrc ? PREVIEW_LINK_IN:0)
| (_listeners.empty() ? 0:PREVIEW_LINK_OUT)
| (_isLive ? PREVIEW_LINK_OTHER:0)) );
diff --git a/src/dialogs/swatches.h b/src/dialogs/swatches.h
index 02861781f8e2746aecca0e8f9698713fdc534109..f21aec1ff6ce156e0c1e44bab7920fbb0398fc7e 100644 (file)
--- a/src/dialogs/swatches.h
+++ b/src/dialogs/swatches.h
virtual ColorItem &operator=(ColorItem const &other);
virtual Gtk::Widget* getPreview(PreviewStyle style,
ViewType view,
- Inkscape::IconSize size);
+ ::PreviewSize size);
void buttonClicked(bool secondary = false);
ColorDef def;
diff --git a/src/ui/previewable.h b/src/ui/previewable.h
index dcf638df5f162d77c9d3b92009fd0c122fd3e613..f0c64208252cbc79fec1bc1854327eb682550b04 100644 (file)
--- a/src/ui/previewable.h
+++ b/src/ui/previewable.h
#include <gtkmm/widget.h>
-#include "icon-size.h"
+#include "../dialogs/eek-preview.h"
namespace Inkscape {
namespace UI {
public:
// TODO need to add some nice parameters
virtual ~Previewable() {}
- virtual Gtk::Widget* getPreview( PreviewStyle style, ViewType view, Inkscape::IconSize size ) = 0;
+ virtual Gtk::Widget* getPreview( PreviewStyle style, ViewType view, ::PreviewSize size ) = 0;
};
index 95662732abf7e351d300b19d3d140258992024ba..d12771c90eb32d7bcf52c3cf09e8ef6686571aff 100644 (file)
--- a/src/ui/previewfillable.h
+++ b/src/ui/previewfillable.h
#include "previewable.h"
-#include "../icon-size.h"
+#include "../dialogs/eek-preview.h"
namespace Inkscape {
namespace UI {
virtual void addPreview( Previewable* preview ) = 0;
virtual void freezeUpdates() = 0;
virtual void thawUpdates() = 0;
- virtual void setStyle( Inkscape::IconSize size, ViewType type) = 0;
+ virtual void setStyle( ::PreviewSize size, ViewType type) = 0;
virtual void setOrientation( Gtk::AnchorType how ) = 0;
- virtual Inkscape::IconSize getPreviewSize() const = 0;
+ virtual ::PreviewSize getPreviewSize() const = 0;
virtual ViewType getPreviewType() const = 0;
virtual void setWrap( bool b ) = 0;
virtual bool getWrap() const = 0;
index 1717e5053c0cc2b5f1d5fe2e6254a7abc24b7433..764890395666806055162cfb3233467c79ab5ac3 100644 (file)
--- a/src/ui/previewholder.cpp
+++ b/src/ui/previewholder.cpp
_prefCols(0),
_updatesFrozen(false),
_anchor(Gtk::ANCHOR_CENTER),
- _baseSize(Inkscape::ICON_SIZE_MENU),
+ _baseSize(PREVIEW_SIZE_SMALL),
_view(VIEW_TYPE_LIST),
_wrap(false)
{
rebuildUI();
}
-void PreviewHolder::setStyle( Inkscape::IconSize size, ViewType view )
+void PreviewHolder::setStyle( ::PreviewSize size, ViewType view )
{
if ( size != _baseSize || view != _view ) {
_baseSize = size;
width = w2;
}
} else {
- width = (_baseSize == Inkscape::ICON_SIZE_MENU || _baseSize == Inkscape::ICON_SIZE_DECORATION) ? COLUMNS_FOR_SMALL : COLUMNS_FOR_LARGE;
+ width = (_baseSize == PREVIEW_SIZE_SMALL || _baseSize == PREVIEW_SIZE_TINY) ? COLUMNS_FOR_SMALL : COLUMNS_FOR_LARGE;
if ( _prefCols > 0 ) {
width = _prefCols;
}
diff --git a/src/ui/previewholder.h b/src/ui/previewholder.h
index 046cdf7c7dfbef03c5707dc5c286796d80238530..e3515c987a2d48139a778487cca69add22f41311 100644 (file)
--- a/src/ui/previewholder.h
+++ b/src/ui/previewholder.h
#include <gtkmm/bin.h>
#include <gtkmm/table.h>
#include "previewfillable.h"
-#include "../icon-size.h"
+#include "../dialogs/eek-preview.h"
namespace Inkscape {
namespace UI {
virtual void addPreview( Previewable* preview );
virtual void freezeUpdates();
virtual void thawUpdates();
- virtual void setStyle( Inkscape::IconSize size, ViewType view );
+ virtual void setStyle( ::PreviewSize size, ViewType view );
virtual void setOrientation( Gtk::AnchorType how );
virtual int getColumnPref() const { return _prefCols; }
virtual void setColumnPref( int cols );
- virtual Inkscape::IconSize getPreviewSize() const { return _baseSize; }
+ virtual ::PreviewSize getPreviewSize() const { return _baseSize; }
virtual ViewType getPreviewType() const { return _view; }
virtual void setWrap( bool b );
virtual bool getWrap() const { return _wrap; }
int _prefCols;
bool _updatesFrozen;
Gtk::AnchorType _anchor;
- Inkscape::IconSize _baseSize;
+ ::PreviewSize _baseSize;
ViewType _view;
bool _wrap;
};
index 0b6527a5a2b1a8f0bdc07ab7c2248cb75220e5dc..f6d9757789701aaa1f2f497372c01454651868e9 100644 (file)
--- a/src/ui/widget/panel.cpp
+++ b/src/ui/widget/panel.cpp
guint panel_size = 0;
if (_prefs_path) {
- panel_size = prefs_get_int_attribute_limited( _prefs_path, "panel_size", 1, 0, 10 );
+ panel_size = prefs_get_int_attribute_limited( _prefs_path, "panel_size", 1, 0, static_cast<long long>(PREVIEW_SIZE_HUGE) );
}
guint panel_mode = 0;
{
guint panel_size = 0;
if (_prefs_path) {
- panel_size = prefs_get_int_attribute_limited(_prefs_path, "panel_size", 1, 0, 10);
+ panel_size = prefs_get_int_attribute_limited(_prefs_path, "panel_size", 1, 0, static_cast<long long>(PREVIEW_SIZE_HUGE));
}
guint panel_mode = 0;
if (_prefs_path) {
switch (j) {
case 0:
{
- _fillable->setStyle(Inkscape::ICON_SIZE_DECORATION, curr_type);
+ _fillable->setStyle(::PREVIEW_SIZE_TINY, curr_type);
}
break;
case 1:
{
- _fillable->setStyle(Inkscape::ICON_SIZE_MENU, curr_type);
+ _fillable->setStyle(::PREVIEW_SIZE_SMALL, curr_type);
}
break;
case 2:
{
- _fillable->setStyle(Inkscape::ICON_SIZE_SMALL_TOOLBAR, curr_type);
+ _fillable->setStyle(::PREVIEW_SIZE_MEDIUM, curr_type);
}
break;
case 3:
{
- _fillable->setStyle(Inkscape::ICON_SIZE_BUTTON, curr_type);
+ _fillable->setStyle(::PREVIEW_SIZE_BIG, curr_type);
}
break;
case 4:
{
- _fillable->setStyle(Inkscape::ICON_SIZE_DIALOG, curr_type);
+ _fillable->setStyle(::PREVIEW_SIZE_HUGE, curr_type);
}
break;
default:
prefs_set_int_attribute (_prefs_path, "panel_mode", j);
}
if (_fillable) {
- Inkscape::IconSize curr_size = _fillable->getPreviewSize();
+ ::PreviewSize curr_size = _fillable->getPreviewSize();
switch (j) {
case 0:
{