diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 90825e2392b2d70e43c7a25b8a3752299a933894 (patch) | |
tree | e33aa27f02b74604afbfd0ea4f1cfca8833d882a /qtruby/rubylib/examples/base/kicons.rb | |
download | tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.tar.gz tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'qtruby/rubylib/examples/base/kicons.rb')
-rw-r--r-- | qtruby/rubylib/examples/base/kicons.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/qtruby/rubylib/examples/base/kicons.rb b/qtruby/rubylib/examples/base/kicons.rb new file mode 100644 index 00000000..0d0a2c01 --- /dev/null +++ b/qtruby/rubylib/examples/base/kicons.rb @@ -0,0 +1,54 @@ +class KIconCollection + IconInfo = Struct.new(:collection, :id, :filetype) + def initialize(icon_collections) + @icon_info = {} + icon_collections.each_pair { + |collection_name, collection| + collection.each_pair { + |key, value| + info = IconInfo.new(collection_name, value, "png") + @icon_info[key] = info + } + } + end + def dims + "32x32" + end + def kdedir + ENV["KDEDIR"] + end + def get_icon_path(icon_type) + info = @icon_info[icon_type] + "#{kdedir}/share/icons/default.kde/#{dims}/#{info.collection}/#{info.id}.#{info.filetype}" + end + def get_icon_set(icon_type) + path = get_icon_path(icon_type) + pixmap = Qt::Pixmap.new(path) + icon_set = Qt::IconSet.new + icon_set.setPixmap(pixmap, Qt::IconSet.Small) + icon_set + end + def make_qt_action(parent, text_with_accel, icon_type) + act = Qt::Action.new(parent) + act.setIconSet(get_icon_set(icon_type)) + act.setMenuText(text_with_accel) + act + end +end + +module Icons + FILE_NEW, FILE_OPEN, FILE_CLOSE, FILE_SAVE, FILE_SAVE_AS, EXIT = 1,2,3,4,5,6 +end + +icon_collections = { + "actions" => { + Icons::FILE_NEW => "filenew", + Icons::FILE_OPEN => "fileopen", + Icons::FILE_CLOSE => "fileclose", + Icons::FILE_SAVE => "filesave", + Icons::FILE_SAVE_AS => "filesaveas", + Icons::EXIT => "exit" + } +} +$kIcons = KIconCollection.new(icon_collections) +print "Using KDEDIR == ", $kIcons.kdedir, "\n" |