From 18b3d330968fa9c1d58bd9b82682f95d574c26eb Mon Sep 17 00:00:00 2001 From: jerous Date: Sat, 7 Jun 2008 01:52:53 +0200 Subject: icons in library mode buttons have icons better alignment coloring ID in library mode --- gfx/gnome-cd.svg | 609 ++++++++++++++++++++ gfx/gtk-close.svg | 737 ++++++++++++++++++++++++ gfx/gtk-preferences.svg | 1209 +++++++++++++++++++++++++++++++++++++++ gfx/gtk-save.svg | 1300 ++++++++++++++++++++++++++++++++++++++++++ gfx/media-playback-pause.svg | 630 ++++++++++++++++++++ gfx/media-playback-start.svg | 308 ++++++++++ gfx/media-playback-stop.svg | 640 +++++++++++++++++++++ gfx/media-skip-backward.svg | 1014 ++++++++++++++++++++++++++++++++ gfx/media-skip-forward.svg | 1002 ++++++++++++++++++++++++++++++++ gfx/stock_volume-0.svg | 893 +++++++++++++++++++++++++++++ gfx/stock_volume-max.svg | 908 +++++++++++++++++++++++++++++ gfx/stock_volume-med.svg | 903 +++++++++++++++++++++++++++++ gfx/stock_volume-min.svg | 898 +++++++++++++++++++++++++++++ gfx/stock_volume-mute.svg | 1273 +++++++++++++++++++++++++++++++++++++++++ gfx/user_icon.svg | 254 +++++++++ misc.py | 22 +- wgSongList.py | 68 ++- winMain.py | 29 +- winSettings.py | 4 +- 19 files changed, 12671 insertions(+), 30 deletions(-) create mode 100644 gfx/gnome-cd.svg create mode 100644 gfx/gtk-close.svg create mode 100644 gfx/gtk-preferences.svg create mode 100644 gfx/gtk-save.svg create mode 100644 gfx/media-playback-pause.svg create mode 100644 gfx/media-playback-start.svg create mode 100644 gfx/media-playback-stop.svg create mode 100644 gfx/media-skip-backward.svg create mode 100644 gfx/media-skip-forward.svg create mode 100644 gfx/stock_volume-0.svg create mode 100644 gfx/stock_volume-max.svg create mode 100644 gfx/stock_volume-med.svg create mode 100644 gfx/stock_volume-min.svg create mode 100644 gfx/stock_volume-mute.svg create mode 100644 gfx/user_icon.svg diff --git a/gfx/gnome-cd.svg b/gfx/gnome-cd.svg new file mode 100644 index 0000000..e0b6efd --- /dev/null +++ b/gfx/gnome-cd.svg @@ -0,0 +1,609 @@ + + + + + + + + + image/svg+xml + + + + Andrew Fitzsimon + + + 2004-12-25 + Etiquette Icon + + + + Andrew Fitzsimon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/gtk-close.svg b/gfx/gtk-close.svg new file mode 100644 index 0000000..b24ce94 --- /dev/null +++ b/gfx/gtk-close.svg @@ -0,0 +1,737 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + begin='' id='W5M0MpCehiHzreSzNTczkc9d' + + + + + + + + + +Adobe PDF library 5.00 + + + + + + + + + + + + + + + + + +2003-12-22T22:34:35+02:00 + + + + +2004-04-17T21:26:24Z + + + + +Adobe Illustrator 10.0 + + + + +2004-02-04T02:18:05+01:00 + + + + + + + +JPEG + + + + +256 + + + + +256 + + + + +/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA +AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK +DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f +Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER +AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA +AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB +UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE +1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ +qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy +obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp +0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo ++DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 +FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F +XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX +Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY +q7FXYq7FUJq+r6bo+m3Gp6ncJa2NqheedzQKB+JJOwA3J2GCUgBZbMWKWSQjEXIvnPzl/wA5Ra5c +XUlv5UtIrKyUkJe3S+rPIB0YJX00B8CGzAnrD/C9ZpfZ2AF5TZ7hyY1pv/OR/wCaVrcCS4vbfUI6 +1MFxbRKtPCsAhb8crGqm5WTsLTEbAx9xP6be9/ld+ceh+eoWtuH6P1yFeU1g7Bg6jrJC23JfEUqP +xzNw5xP3vM9odlz0xv6oHr+t6Dl7q3Yq7FXYq7FXYq7FXYq7FXYq7FXYq8y/NL87tK8my/oyxhXU +tdK1eHlSK3BFVMxG5Y9Qg3p1I2rVPJTnaXRHJudovFbv/nIX80p7j1YtRhtUrX6vFbQFKeFZVkf/ +AIbKfFk7IaDEOjM/I3/OTF2buKz8320Zt5CF/SdqpVo6/tSxVYMPEpSg7HLI5u9xc/Zwq4fJ9AW9 +xBcwR3FvIs0Eyh4pYyGRlYVVlYbEEZe6oilTFDsVdirsVdirsVdirsVdirsVdiqD1fV9N0fTbjU9 +TuEtbG1QvPO5oAB+JJOwA3J2GCUgBZbMWKWSQjEXIvkL82PzY1bz9qy2tqskGgwPSwsB9qRugllA +6uew6KNh3J1Oo1HF5RD33ZfZcdNGzvkPM/oH43QmieV4LOJZrxFlum34mjKnsOxPvnNarXGZqO0f +vd7DEBzR15p9ncxmOWFWB6GgBHyPbMfFmnE2C2mAI3Yk8eqeXdVgvrGd4JoHElpdxmjKw/j4jvnQ +6XVCYsbSDrdTpxRjIXEvqr8n/wA4LDztYCyvSlt5ktkrcW42WZR1mhH/ABJf2flm8w5hMebwXafZ +ktPKxvjP2eRek5e6p2KuxV2KuxV2KuxV2KuxV2KvJ/zm/OaDytBJomiSLN5imWkkgoy2isNmYdDI +R9le3U9gacmSthzdjotEcnql9P3vmvT7C61a7kuruR3DuXnnclnkdjVviO5JPU5gZMvD73rNFoTl +PdAfigy22tLWKMRxxIqUpQAfjmIZEvQxwwiKAFJVrnlpZENzYoFkXeSFRQMPFR4+2ZGLN0Lqdf2c +COLGN+5ln5N/nJceVLhNF1p2l8uytRWNWe0djuyjqYyftL9I3qDn48lPI6vSce4+p9SW9xb3NvHc +W8izW8yh4pUIZGRhVWVhsQRmS6YilTFDsVdirsVdirsVdirsVdiqD1fV9N0fTbjU9TuEtbG1QyTz +uaAAfiSTsANydhglIAWWzFilkkIxFyL5C/Nf82NW8/astrarJBoUElLCwH2pG6CWUDq57Doo2Hcn +UajUcW52iH0DsvsqOmjZ3yHmf0D8brPLnllNNiFxcAPfOPmIwew9/E5y+s1pynhj9P3u7hCmYeWP +Kuo+Y9SW0tBwiWjXNywqkSeJ8Sew75HRaOeefDHl1Pc42v18NNj4pc+g72Yee/ykjs9OS+8vCSU2 +0YF5bMS7uFG8qe/8yj6M3Wu7HEI8WLpzH6XR9le0BnPgzUOI7Hu8j+v5vILu3iuIWilXkjdRmmxz +MTY5vWyiJCixUjVPL+qQX1hO8E8DiS0u4zRlYfx8R3zoNNqRMWNpB1Gq0woxkLiX1Z+T/wCcFh52 +sBZXpS28yWyVuLcbLMo6zQj/AIkv7PyzdYcwmPN4PtLs2WnlY3gfs8i9Jy91bsVdirsVdirsVdir +sVeT/nN+c8HlWCTRNEkWbzFMtJJBRltFYbMw6GQj7K9up7A05ctbDm7LRaE5PVL6fvfNFlZ3WqXc +l1dSPJ6jl553JZ5HY1b4juST1OYGTLw+963RaE5T3QH4oMrtYQoSGFNtlRFH3ADMOyS9IIxhGhsA +9i8rfk9DLoksuts8Oo3Kf6NGh/3n7guP2mPdew9+mfi0dx9XN5HXe0RjlAxbwjz/AKX47/0MD1rQ +dR0PUnsL5OMi7o4+xInZ0PcHMSeMxNF6LS6uGeAnA7fcxHzH5Z+sBr2yX9+N5YR+37r/AJX68txZ +a2Lr+0NBxeuHPqO9kn5N/nJceVLhNF1p2l8uytRWNWe0djuyjqYyftL9I3qDsITp5DVaXj3H1PqS +3uLe5t47i3kWa3mUSRSxkMjIwqrKw2IIzIdQRSpih2KuxV2KuxV2KuxVCavq+m6Pplxqep3C2tja +IZJ53OyqNvmSTsANydhglIAWWzFilkkIxFyL5B/Nf82NX8/6utpaLJBoUElLCwH2pG6CWUDq57Do +o2HcnT6nU8W52iH0LsrsqOljZ3yHmf0D8br/ACx5Wj0uIXNyA9+4+YjB/ZX38TnKa3XHKeGP0fe7 +mIZh5d8tX+v6gLW2HGNaG4uCPhjXxPiT2HfI6LRzzz4Y8up7nG1uuhp4cUufQd73LQtG07RNOSxs +U4xru7n7bv3dz3JzutNp4YYcMXz7V6meeZnM7/cmPq5kW43C8m/M/wDLQS+trmhxfvN3vbJB9ruZ +IwO/8y/SM0HaXZt3kxj3j9Ieu7E7ZqsWU/1ZfoP6C8XuoIp4mjlXkjdRmlxzMTYevlASFFjqtqeg +6nBfWE7wXEDiS1uozRlYf57+Ob3TagTFjYh0ur0tAxkLiX1b+T/5wWHnawFlelLbzHbJW4txssyj +rNCP+JL+z8s3OHMJDzeE7R7OOCVjeB/FF6Tl7q3Yq7FXYq7FXYq8m/Of854PKsEmiaJIs3mOZaSS +CjLaKw2Zh0MhH2V7dT2Bpy5a2HN2eh0JyeqX0/e+Zra2utSupLq6keQyOXnnclnd2NWJY7kk9Tmv +yZeH3vX6LQnKe6A/FBktrCAEiiTwVEUfgBmHZL0YiIChsA9y/LT8uU0pY9Y1iMNqTDlbW7biAH9p +v+LP+I/PNlp9Pw7nm8V2z2wct48Z9HU9/wCz73pHq5mW83wpP5m8u6d5g082t0OMi1a3uAPjjbxH +iD3HfK8uMTFFzdDrJ6afFHl1He8T1fRb/Rr97K9TjIu6OPsuvZlPcHNVOBiaL3mm1UM8OOH9jEPM +3lb6yHvrFP8ASBvNCP2/8pf8r9fzy7FlrYuu7Q0HF64fV1Hen35N/nHceVLhNF1p2l8uytRWNWe0 +djuyjqYyftL9I3qDnwnTyWq03FuPqfUlvcW9zbx3FvIs0Eyh4pUIZGRhVWVhsQRmQ6gilTFXYq7F +XYq7FXYq+Z/+cpPOV1Prln5Ut5CtlZxLdXqKaB55a8Aw/wAiOhH+tmt1uTfhe19mdGBjOY/UTQ93 +7T9zE/JnlmGxs49QuF5Xs6hkr/utGFQB/lEdfuzjO0daZyMB9I+16lmmheX73W74W1uOMa0M85Hw +ovifE+AyrQ6Keonwx5dT3ONrNZDTw4pc+g73sei6VYaPYJZ2ScY13dz9p27sx7k53mm00MMOGLwu +q1E88+OfP7kd6uZFuPwu9XG14Xerja8Lyj8zvy2Evq65ocX7zd72yQfa7mSMDv8AzL9IzR9odn/x +w+Ier7G7YqsWU+4/oLxm5ijljMcg5KeozUY5mJsPWygJCikkUupaHqUF9YTvb3Nu4ktrmM0ZWH+f +05u9PqOMWObodZpKuMhcS+r/AMoPzfsPO1iLK9KW3mO2StxbjZZlHWaEf8SX9n5ZuMObiHm8L2j2 +ccErG8D+KL0jLnWOxV2KuxV5N+c/5zweVYJNE0SRZvMcy0kkFGW0VhszDoZCPsr26nsDRly1sObs +9BoDk9Uvo+98xwRXOoXUlzdSPI0jl55nJZ3djViWO5JPU5r8uXh972Oi0JynugPxQT+2ipwiiXwV +EUdz2AzDu3pBEQFDYB7j+Wv5cppSR6vq8YbUmHK3t23EAP7Tf8Wf8R+ebHT6fh3PN4ztjtY5bx4z +6Op7/wBn3vRvVzMt53hd6uNrwu9XG14Ur8w6FY65Ym3uRxkWpgnA+KNvEex7jK8mMTFFy9Hq56ef +FHl1He8j1LSL3Sr17S7Ti67qw+y69mU+Ga2cDE0XttPqYZocUWE+c/LUJgk1W1HCRN7mMdGBNOY9 +/HL8OToXVdp6IUckefV6D/zjj+YE0Ty+VNQlLWpPq6czH+7LH40/1WahHuc2GI9Hj9bjoiT6Ey1w +HYq7FXYq7FXYq+Rf+cltPubb8zp7mRSIr61t5YGpsQiek2/iGjOanWCpvoPs5kEtKAP4Sf1phot/ +BfaTbXEJBBjVXUU+FlFGU08DnB6nEYZCD3u9Z75E81WtkP0XdqsUcjlorgAD4m7SH9Rzfdi9oxx/ +upbA8j+t0Xa/Z8sn7yO5HMfqeh+rnV28xwu9XG14Xerja8LvVxteF3q42vC8p/M38txL6uuaJF+8 +3e9skH2u5kjA7/zL9IzT67Q/xw+Iep7H7XqsWU+4/oLxu4jSRCjiqnNXjkYmw9TOAkKPJK7e41HR +dSgv7Cd7e6t3EltcxmjKw/z+nNxgz8W45vP6zR8NxkLiX1h+UH5v2PnWxFlelLbzHbJW4txssyjr +NCP+JL2+WbfFl4ve8L2h2ecBsbwP4ovSMuda7FXk35z/AJ0QeVYJNE0SRZvMcy/vJBRltFYbMw6G +Qj7K9up7A0ZcvDsObtOz+zzl9Uvo+98wItzf3MlzcyNK8rF5pnJZ3djViWO5JPU5rsuXh972eh0J +ynugPxQTi2j+zHGtSaBVUVJJ7DMO7L0giIxobAPcPy2/LpNKWPV9XjDakw5W9u24gB/ab/iz/iPz +zYafBw7nm8d2v2qct48Z9HU9/wCz73o3q5l28/wu9XG14Xerja8LvVxteFxmCgkmgG5J6AY2oi82 +85+Z7fVZ0tLVVa3t2J+sEfEzdDxPZf15g58olsHquy9BLCOKX1S6fjqwfzVew2ug3IkI5ToYol7l +m22+Q3yGIXJyO0MgjiN9dmN/losyeYEuUr+74LX3aRSP+InNpi5vDa4+kDzfYulztPp8Er7sygMf +EjYn8MudYisVdirsVdirsVee/nT+WcHnby4PQpFrOncpbCc9CGHxxPT9lqA+xHzBoz4eMebteye0 +zpclneEuY/S+T9N1LVvK+rTW1xE0bRv6d5ZvtuP4+BzntZohlFS2kH0TFmjkiJRNxL0az1C1v7VL +q1fnE4+kHuCOxGctkxSxy4Zc28M78nedTHw0zU5Pg2W2uWPTwRz4eBzouyu1KrHkPuP6C6HtLsu7 +yYx7x+kM89XOkt57hd6uNrwu9XG14Xerja8LvVxteF5V+Zn5cCX1db0SL95u97ZIPtdzJGB3/mX6 +Rmq1mj/jh8Q9N2R2rVY8h9x/QXjs6K6lWFQc10JGJsPTzxiYo8kDaXeoaRqMF/YTvb3Vu4kt7iM0 +ZWGbbDm4txzeb1ui4PTIXAvqf8svz18u+YtMS3167t9K12EBZlncQwz029SJ3IUE90rXw2zaY84I +35vE63syeOVwBlFLvzX/AD80jR7GTTPKl3FqGszDib2EiWC2U9WDCqSSeAFQO/gRlzgbDm2aLsuU +zxZBUe7vfNFbi9uZLi5kaWWVi80zks7uxqxLHcknqc12XLw+97LQ6E5T3QH4oJlbxklY41qTQKoF +SSewzDu3oxERFDYB7d+W35dppSx6vq8YbUmHK3t23EAP7Tf8Wf8AEfnmfgwcO55vJdrdqHLePH9H +U9/7PvejermXboOF3q42vC71cbXhd6uNrwtGYKCSaAbknpTG14Hn3m3zi18zWFg9LMbTSjrKfAf5 +P68w82a9hyek7O7N8P1z+rp5ftYdqGqWum2rXFw2w2RB9pm8BlMImRoOw1GeOKPFJ5/d3ep+YNTG +3J22iiH2I0/z6nNhjx1sHkdZqzMmc+T1L8uvKnoTwBQWSJvVlkp9tx0p7dhmXGNB53NlM5W+jdNt +2t7CCFvtKo5D3O5/HJNSJxV2KuxV2KuxV2KvI/zn/Jm18zWj6tpSLDrEKk7CgkA34tTt+rMfPgEx +5u37K7VlpZUd8Z5j9I/G75n0/UNU8t6pLb3ETIUbhd2j7dP4+BzQazRjIKO0g+gYc8ZxEom4l6Ba +31tfWqXNs/OJ/vB7gjsRnM5MUscuGXNywbZz5P8AOhThpupSfDsttcsengjnw8Dm/wCzO0uWPIfc +f0F0faPZt3OA94/Szr1c6G3Q8LvVxteF3q42vC71cbXhd6uNrwvK/wAy/wAuRIJdb0SL95u97ZIP +tdzJGB3/AJl+kZrdVpf4ovSdldqVWPIfcf0F4/MoYEHcZgwkQbD0k8cZx4TyQEkZRqduxzZ4sgkH +mtXpZYj/AEehXRR8jv0xyZOH3stHojlNn6UfAhJVEUkkgKo3JJ7DMO7ejEREUNgHt35b/l4mlrHq ++rxhtSYcre3bcQA/tN/xZ/xH55n4MNbnm8p2p2mcn7vH9HU9/wCz73onq5lW6Lhd6uNrwu9XG14X +erja8LjMFBJNANyT0pgteF595s84NfM1hYORZg0llHWT2H+T+vMTLmvYcnodB2dweuf1fd+1iN/q +drp1qbi4bYbIg+0zeAyuETI0HO1GeOKPFJgtzc6lr2pAAcnbaOMfZRf8+pzPx462DyOs1hmeOfJ6 +R5K8lABY415FqGecinKn6lGZkY085nznIfJ735U8qQafBHLIlHFDGhG4PZm9/Adsk0snxV2KuxV2 +KuxV2KuxV2KvI/zm/Jm08y2j6tpSLDrEKk7CgkA34tT/ADGUZ8AmPN23ZfaktNKjvjPMfpH43fM1 +je6p5d1OW3uImjZG4XVq+3T+Pgc0Gr0gyCjtIPoGDPGcRKJuJZzbXtve2y3Fu3ON/vB7gjxznJ4p +Qlwy5ubE2zfyh5zKcNN1KT4dlt7hj08Ec+Hgc3nZ3aHKE/gXT9odnX64D3hnPq5vbdHwu9XG14Xe +rja8LvVxteF3q42vC8s/Mr8uhJ6utaLF8e73lmg+13MkYHf+ZfpGYOo0/wDFF6HsvtKqx5D7j+gv +IZQD1zEhIg2HosmOM48Mhs3ArMVVQSxNFUbkk9hkrtIiIihsA9s/Lj8vE0tY9X1aMNqTDlb27biA +H9pv+LP+I/PM7Dhrc83lu0+0vE9EPp6nv/Y9E9XMm3ScLvVxteF3q42vC71cbXhcZgASTQDck9KY +2vC8/wDNfnBr5msLB6WY2llHWT2H+T+vMXLlvYO+0Og4PXP6vu/axK91G2sLYzznYbKg6sfAZXCJ +kaDm6jPHFHikwyefUdd1EADk7bRxj7KL/n1OZ+PHWweR1msMzxzOz0ryV5KACxxryLUM85FOVP1K +MzYxp5rPnOQ+T3vyp5Ug0+BJZUowoUQj/hm/gO2SaGT4q7FXYq7FXYq7FXYq7FXYq7FXkf5zfkza +eZbR9V0pFh1iFSdhQSAb8Wp2/VlGfAJjzdr2X2pLTSo74zzH6R+N3zLaXep+X9SltriJo3jbhdWr +7bj+Pgc0Wq0gyCjtIPf4NRGQEom4lmNvdwXcCzwNyjb7wfA++c9PHKBo83YxkCLDNvKPnIpw03Up +Ph2W3uGPTwRz4eBzc6DX/wAE/gXU67s+/XD4hnHq5urdLwu9XG14Xerja8LvVxteF3q42vC8u/Mj +8uvV9XWdEi/eGr3lkg+14yRgd/5l+7MPNg6h6Ds3tGqx5D7j+go78uPy9TS0j1bVow2osOVvbtuI +Af2m/wCLP+I/PJ4cNbnm09pdoeJ6IfT1Pf8Aseh+rmTbpeF3q42vC71cbXhd6uNrwtGYAEk0A3JO +Np4WA+a/N7XzNYWL0tBtLKOsnsP8n9eYuTLewd5otDweqX1fcxO7v7extzNMdhsqjqx8BkIRMjQc +rUZ44o8UmJyS6hreoKqjk7bRxj7KL/n1ObDHjrYPI63WGR45nZ6Z5K8lABY415FqGecinKn6lGZs +IU8xqNQchs8nvflTypBp8CSypRhQohH/AAzfwHbJNDJ8VdirsVdirsVdirsVdirsVdirsVdiryP8 +5fyZtPMtq+q6Uiw6xCpOwoJAN+LU/wAxlGbCJjzdr2Z2nLTSo74zzH6Q+ZLe41LQdRltriJo3jbh +c2z7Go/j4HNHqtKJijtIPfafUggSibiWVQ3UF1As0Lckb7wfA++aGeMwNF2kJCQsM08pecSnDTtR +f4dlt7hj08Ec+Hgc22i1v8MvgXV63Q364fEM39XNvbqOF3q42vC71cbXhd6uNrwu9XG14Xerja8L +vVxteF3q42vC71cbXhaMwAJJoBuScbTwsC81ebmvWaxsXItAaSyj/dnsP8n9eY2TJewdzo9FweqX +1fcxW5vYLOAyynboqjqx8BkIRMjQcnUZ44o8UmMs+oa1fqiLydtkQfZRf8+pzYY8dbB5DW6wyJnM +7PTvJXkkALHGvItQzzkU5U/UozNhDheX1GoOQ2eT3vyp5Ug0+BJZUowoUQj/AIZv4Dtk3HZPirsV +dirsVdirsVdirsVdirsVdirsVdirsVeSfnL+TVp5ltX1XSkWHV4VJ2FBIBvxan+YyjNhEx5u07M7 +Tlp5Ud4HmP0h8xQy6joeoS21zE0ckbcLi3fY1H+exzS6nTCYo7EPe6bVAgSibiWRxXMNzCssTckb +7wfA5o5YzA0XcQmJCwzLyn5wKcNO1F/h2W3uGPTwRz+o5s9Jq/4ZOu1miv1R+IZt6ubO3VcLvVxt +eF3q42vC71cbXhd6uNrwu9XG14Xerja8LRmABJNANyTja8LAvNPm5r1msbFyLQbSyj/dnsP8n9eU +ZMl7B2+k0fD6pc2Lz3cNrCZZTt+yvcnwGQhEyNByNRnjijxSSCt/rF8saLydtkQfZRfE+3ic2GPH +WweQ1usMiZzOz0/yT5JACxxryLUM85FOVP1KMzoQEQ8pqdScsrPJ755U8qQafAksqUYUKIR/wzfw +HbJuOyfFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq8c/PT8prHWNHuvMOnRrDqVhE88oUUE +kcYLMD9ANPDMfUYhIX1Dt+yNfLDkEP4JH8F8xafqEtnLyX4o2+2nY/25ps+AZB5veYsxgfJkaTxz +xLLGao3TNPKBiaLt8cxIWGYeU/NzKU07UHqDRbec9uwRv4HNhptT/DJwdVpP4o/Fmnq5sLdbwu9X +G14Xerja8LvVxteF3q42vC71ffG14WB+afNrXrNY2L0tBtLKP92ew/yf15RPJewdrptJw+qXNjM1 +zFbxGSQ7DYDuT4DIwiZGg26jPHFHikx+7u5bqX1JDt0VewGZ8ICIoPKanUSyysvVvI3kscVjRaua +G5m8T4V/lGbCEOEPH6rUnLLy6PfvKnlSDT4EllSjChRCP+Gb+A7ZNxmT4q7FXYq7FXYq7FXYq7FX +Yq7FXYq7FXYq7FXYq7FXYq8b/Pv827HRNJu/KulyCfW7+JobxlNVtYJVo3Ij/djofhHYfEe1cXUZ +gBwjm77sfs2WSQyy+iPLzP6nzRpelyXbc2qsCn4m8T4DNLqNSMYofU9xgwGZ35Mg9NI0CIAqKKAD +NTxEmy7aIAFBX0vUl068F16CTsv2A9RxPiKd8vxT4TdWjLj4xV0yWL8xbP8A4+LSVP8AjGyv+vhm +dHVjqHCOgPQopPzA8vkfFJJH7NGT/wAR5ZYM8WB0M1Q+ffK463v/ACSm/wCaMl4sWP5LJ3fc0fP3 +lilVvC3sIpf4qMPiBP5LJ3fcoyfmHoS/Y9aX/VQD/iRXB4oSNDPyQk35iodrezJ8Gken4AH9eDxW +waDvLGrq7+t3clwYkhMhqUjBC18aEnrlZNuZGPCKaaGOaMxyDkrdRhjIg2GvLjjOPDLkkN/p8tpJ +v8UTfYf+B98z8eQSDyus0ksMv6PQvob/AJx98zaRq6HTrllTV7VWlMTU/fAUAkTx49x2zPx5L97x ++s0hxmx9Je45a4TsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiryP86vzqg8qQSaHocizeZJ +lpJIKMlmjDZmHQyEfZXt1PYHGz5+HYc3edk9knMeOf8Ad/f+x8zWFhd6tdSXd3I7h3Lz3Dks8jsa +t8R3JJ6nNHqtUMfnIvdYNPe3KIZGI44o1jjUKiiiqO2aYyJNl2kQAKChJkwzCGkywMghpMsDIIaT +LQyCGkywMg3Hk1KJjxYlFR4WBRMeFgUVHhYlWaCKeIxSryRuoyUSQbDRlxxnHhlySMjU9A1OC+sZ +3gngcSWt1GaMrD+Pt3zPxZL97yeu0RxmjvEvqb8ovzdsfOliLK9KW3mK2StxbjZZlHWWIf8AEl7f +LM/Hk4ve8nq9IcRsfS9Gyxw3Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXkf51/nXB5Ugk0PQ5F +m8yTLSSQUZLNGGzMOhkI+yvbqewOLqNRw7Dm73snsk5zxz/u/wDdfsfNGmaZeaxdyXl3I7o7l7i4 +clnkdjVviO5JPU5otXqxjHfIvdYcF7DaIZSIo4o1jjUIiCiqOgGaQyMjZ5uxiK2CjJkgzCGky0Mg +hpMsDIIaTLAyCGky0MghpMsDINx5NSiY8WJRUeFgUTHhYFFR4WJRUeFgVWS3huIWilXkjdRkoyIN +hpy44zjwy5MdePVPL2pwX1jO8E0LiS0u4zRlYfx8R3zPxZL97yeu0RxmjvEvqP8AKP8ANyx86WIs +r0pbeYrZK3FuNlmUf7tiH/El7fLM6E7eU1WlOM2PpejZY4jsVdirsVdirsVdirsVdirsVdirsVdi +ryP86/zrg8qQSaHocizeZJlpJIKMlmjDZmHQyEfZXt1PYHF1Go4dhzd92R2Qc545/wB3/uv2PmnS +dJvdavJLy8kd43cvcXDks8jsat8R3JJ6nNBq9YMYrnIvdYsI5DaIZisMUMaxRKEjQUVR0AzQmRkb +PNzgKUZMmGYQ0mWBkENJloZBDSZYGQQ0mWBkENJloZBDSZYGQbjyalEx4sSio8LAomPCwKKjwsSi +o8LAomPCwKrLbQ3MDQzLyjcbj+IyUSQbDTlxxnExlyYtNBqvlzVIL6xneGWFxJaXcZoysP4+I75n +4sl+95TXaI4zR3iX1D+Uf5uWPnSxFlelLbzFbJW4txssyj/dsQ/4kvb5Zmwnby2q0xxmx9L0bLHE +dirsVdirsVdirsVdirsVdirsVeR/nX+dcHlSCTQ9DkWbzJMtJJBRks0YbMw6GQj7K9up7A4uo1HD +sObv+x+xznPHP+7/AN1+x816Not7rl5Je3kjvEzl7i5clnldjVviO5JPU5z2s1oxCucy93jxCqGw +DN1higiWGFQkaCiqOgGc+ZGRs83KAUpMmGQQ0mWBmENJlgZBDSZaGQQ0mWBkENJlgZBDSZaGQQ0p +A65djgZGg1588cUeKToiCMkYkGiyx5Y5I8UeSKjwMiio8LAomPCwKKjwsSio8LAomPCwKKjwsSqT +WsF1A0E6h43FCP4j3yUSQbDTlxxnHhlyYhc2ureWtVgvrKd4ZIXElneRmjKw7fPxHfM7Fkv3vJ67 +RHGaO8S+nvyj/Nyx852Isr0pbeYrZK3FuNlmUdZYh/xJe3yzOhO3mNTpjjNj6Xo2TcV2KuxV2Kux +V2KuxV2KuxV5F+df51weU4JND0ORZvMky0kkFGSzRhszDoZCPsr26nsDiajUcOw5vQdj9jnOfEnt +j/3X7HzdoWhX2vXsl7eyO0LOXublyWeV2NW+I7liepzntbrRiFDeZe7hjAFDYBnyQQwQpDCgjijH +FEHQDOcMjI2ebeFKTJBkENJloZBDSZYGYQ0mWBkENJloZBDSZYGQQ0mWBkEJO6otT9GX44GRoNeb +PHHGygWZnbxJ6AZs8cBEUHmdTqJZJcUm0co36xhnjEgnS6uWGVjl1CPhYMAR0zClEg0XpsWWOSPF +Hki48DIomPCwKKjwsSio8LAomPCwKKjwsSiY8LAqk9pb3du9vcIHicUIP6x75KJINhpy44zjwy5M +JvLPVvLOrQX1lO8LxP6lneRmjKw7H38R3zOxZOL3vKa7RHEaO8S+nPyk/Nux852Isr0pbeYrZK3F +uNlmUdZYh/xJe3yzNhO3mdRpzA2PpejZNxnYq7FXYq7FXYq7FXl356fmtL5K0eGx0sqdf1NW9B2A +It4Rs0xB6tXZAdq1PahxdTn4BQ5l3nYnZY1MzKf93H7T3frfMnl/y/feYL2S+vZHa3Zy9zcuSzyy +MasAx3LE9TnN67XDEKG8z+LL6BGIAobAPRI7eG3hSCBBHFGOKIvQAZzRmZGzzbApSZIMgh5MsDII +aTLQyCGkywMwhpMsDIIaTLQyCGkywMgg7mVIkLMfkPHL8WMyNBhmzRxxsoG2trvUrtYIF5yP0HZR +3JPhm4w4a2Dy+u1uxnM0A9W8leRlVQkS8pD/AH1yRQnxAPZc2mPGIh4jWa2eeW+0egZD5u/IzUNQ +0t72zgCXka8lcHdgB0dT8RHv1GDLiEvez0WvlhNHeHd+p4TNBeadeSW11E0U8TcZYm2IIzW5MV7H +m9notdwVKJuJTCB1dQymoOYUokGi9TiyxyR4o8kXHgSUVHhYlFR4WBRMeFgUVHhYlEx4WBRUeLEr +7iztry3e3uEDxOKEH9Y8CMlEkGw05ccZx4ZcmB31hq/lfVoL2yneJonEllexmjBh2Pv4jvmfjycX +veT1uiOI0d4l9SflH+ZUXnbQS1wFi1qypHfwrsrV+zKg/lfw7GvtmbCVh5rUYeCXkzvJNDsVdirs +VdirsVfIP/OSVzNN+ad5HI3JLe2to4R4KYxJT/gpGOanVn94+hezsQNIPMn7040y3ht9LtYYKekk +ScSO9RWv09c4HPMyySJ527xdJgDIIaTLAyCHkywMghpMtDIIaTLAzCGkywMghpMtDIIK7njgQu5+ +Q7k5fixmZoMMuUY42UpggvNUvFhhXnI/2V7KPEnwzdYMNemLzet1oAM5mgHrHkfyOqKsca8i1DPO +RTlTsPBRm2x4xEPDa3Wyzys/T0D33yp5Ug0+BJZUowoUQj/hm/gO2WOEyfFXkv5x/k5a+Y7V9V0p +Fh1eFSSAKCQDehp/mMqyYuL3ufotacJo7xL5hkjvdMvZLa5iaKaJuE0L7EEZrsmK9jzey0Wu4PVE +3EptbSpIgdDUHMIxINF6jHljkjxR5IyPAyKKjwsCiY8LAoqPCxKJjwsCio8WJRUeFgUH5mgim8v3 +okFQkZkU+DLuMtxH1BwtfEHDK+5JvyZ1y70jzhHNA3FHQLKvZgXVaH/gjmzxc3hNcPSPe+voJkng +jmT7Mihh9Iy91i/FXYq7FXYq7FXzt/zlH5FunntPONnGXgWNbPUwv7BViYZT7HkUJ7UXxzX63F/E +HsPZnXAA4Zc+cf0j9PzeceSvNcckMWlXrcZkAS1lPRlHRD7jt45yHaWhIJyR5df1vXMskzUhkENJ +lgZBDyZYGQQ0mWhkENJlgZhDSZYGQQN7cxW8ZkkPyHcnwGZOHGZmgxyZRAWUiiivdWvVihXlI/2V +/ZVfEnwzeYMFemLz2t1gAM5mgHq/kfyOqKsca8i1DcXBFOVOw8FGbfFiEA8JrdbLPKz9PQPffKnl +SDT4EllSjChRCP8Ahm/gO2WOEyfFXYq7FXkv5x/k5a+Y7V9V0pFh1eFSSAKCQDehp/mMqyY+L3ud +otacJrnEvmMre6VfSW1zE0U0TcJ4H2IIzX5MV7Hm9hotdweqJuJT21mjmjEkZqpzBlEg0XqMeWOS +PFHkjY8WRRMeFgUVHhYlEx4WBRUeLEoqPCwLDPN/mlLlX02yPKAEevMOjEGvFfavfvmXhxVuXnu0 +dcJeiPLqU0/LTQpzewzOpD3EicR3EampP05sMceryWsygnhHR9W6IGGlW1evGv0EmmWOEjsVdirs +VdirsVQ+oWFrqFlPZXcay21whjljcBlKsKEEHY4kWmMjE2NiHyH+b35R3/k3UXvbJGl0KZqxSCpM +JJ+yx8PA/f76rUabh3H0vedj9sjOODJtkH+y/agfKnm360qWGoP/AKSNoZ2/3Z/kt/lfr+fXltfo +OH1w+nqO56GMmSyZrA2BDyZYGQQ0mWhkENJlgZhL7+7htYTJKfZV7k+AzJw4jM0GOTIICyxtFvtY +v1iiXlI5oqj7Kr4n28Tm/wBPp+EcMXRazWCIM5mgHq/kfyOqKsca8i1DcXBFOVOw8FGbfFiEA8Hr +tdLUSs7RHIPffKnlSDT4EllSjChRCP8Ahm/gO2WuCyfFXYq7FXYq7FXk35xfk7a+Y7V9V0pFh1aF +SSAKCQDehp/mMqyY+L3ubo9YcJr+EvmVTfaRfyW1zG0UsTcJ4H2II/z2OYGTFex5vX6LWmB4o7xL +I7SeKeJZIzVT+HscwTEg0XqMeWOSPFHkjY8UlFR4WJRMeFgUVHixLE/M/mkyB7Cwf919medf2vFV +Ph4nvmXixdS8/wBodoX6Icupa8q+VpLmSO6uo+StQwQH9r/Kb2zPhDqXlNVqq9MXvfkPyXIJBLIK +ORWR6fYU/wAT2GXOseroioiogoqgKo8ANhireKuxV2KuxV2KuxVCatpNhq1hNYX8KzW0ylXRgCKE +U74kJjIg2Ob5G/Nz8otQ8mag15Zq02hzNWKUVJiJOysfDwP+Z1eo0/DuPpe67I7YGccE/wC8H+y/ +alvlnzT9ZVbG+b/SBtDMf2/8lv8AK/X885jXaHh9cOXUdz0cJ9CyGTNaG4IaTLQyCXajewWcBllP +sq92PgMycGKWSVBZ5BEWWKD9Ia1qCxxrykc0RB9lF8T7eJzotPpxEcMXSazViETOZoB6t5H8jqir +HGvItQ3FwRTlTsPBRm4xYhAPBa7XT1E7O0RyD33yp5Ug0+BJZUowoUQj/hm/gO2WuCyfFXYq7FXY +q7FXYq7FXk35xfk7a+Y7V9V0pFh1aFSSAKCQDehp/mMryY+L3ubo9YcR/ovmeOS/0a/kt7iJo5I2 +4XFu+xqP89jmBkx3seb1mi1pxnijvEsqs7iG4iWWJuSN94PgcwZRINF6jFljkjxR5I6PFkUTHhYF +jHmTzMZA9jYv+76TTD9rxVfbxPfMrFi6l5/tDX36IcupX+VfKslzJHdXUfJW3ggP7X+U3+Tmfjx9 +S8nq9VXpi958j+R3Z1llX95sXcjZB/XwH+YvdW9VtLSC0gWGFaIOp7k+JxVWxV2KuxV2KuxV2Kux +V2KoTVtJsNWsJrC/hWa2mUq6MARQinfEhMZEGxzfI35uflHqHkzUGvLNWm0OZqxSipMRJ2Vj4eB/ +zOr1Gn4dxye57I7XGccE/wC8H+y/akmiebIzEtvqLEOuyXBqajwanf3zndV2eb4ofJ6OGXoUfeeY +dKhjLCdZW/ZSP4iT+oZj49Fkkaqm05ogMVLajrmoqka8pH2RB9lF8T7eJzf6bTCI4Yuq1mrjCJnM +0A9V8jeRljVY415FqG4uCKcqdh4KM3WLEIB4HX6+eonZ2iOQe/eVPKkGnwJLKlGFCiEf8M38B2y1 +wGT4q7FXYq7FXYq7FXYq7FXYq8m/OL8nbXzHavqulIsOrQqSQBQSAb0NP8xleTHxe9zNJqziP9F8 +0wTahomoSW9xG0ckbcLi3fY1H+exzAyY72PN6vR604zxR3iWT2+uaW8Yf6wqeKv8JH0HMU4pDo9B +HXYZC+JKtd8yCdDa2TERHaWXcFv8ke2X4sNbl1Ov7R4hww5dSifKvlWS5kjurqPkrUMEB/a/ym/y +cz8ePqXlNXq69Meb3nyP5HdnWWVf3mxdyNkH9fAf5i91L1W0tILSBYYVog6nuT4nFVbFXYq7FXYq +7FXYq7FXYq7FXYqhNW0mw1awmsL+FZraZSrowBFCKd8SExkQbHN8w/mF+QtzpGoPLpchFlKSYlcE +qK78Q3UU8Mwp6MH6XpdL7RSiKyji8xzYZB+WmsmSk8iotdyiu5+4hMgNHLqXKye0eKvTGRPnQ/Wz +7yh5AW3IjhjIDUM0r/bb5kdB7ZmY8QgNnnNbr8molcuXQdHu/lTypBp8CSypRhQohH/DN/AdsscJ +k+KuxV2KuxV2KuxV2KuxV2KuxV2KvK/zZ/JzTvMkZ1OwT0dSjHxGMbsPl3yE8Yk5Wn1csXLl3PAL +r8ttcglKBkZQaFiHB+4Bv15T4JdgO04VuCmWi/l6yTLJchp3BHFCpWMH3ru2TjiA5uLm7QlIVHZ7 +P5I8jOXWWVf3mxZ2GyD+vgMude9UtLSC0gWGFaIOp7k+JxVWxV2KuxV2KuxV2KuxV2KuxV2KuxV2 +KrJ4IJ4minjWWJtmjcBlPzBxVIpvInluR+a25irvRG2+5uWKphYaBpVjT0IRVfslt6fIdPwxVMMV +dirsVdirsVdirsVdirsVdirsVdirsVSvUvLOiai5kurVTMesq/Cx+ZHX6cVQ1r5K0G2fmkTE/wCU +R+sAH8cVTqGGKGMRxIEQdFUUGKr8VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi +rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir +sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir//2Q== + + + + + + + + + + + + + + + + + + + + + +uuid:f88c0957-bd04-49e1-8a95-040a6a74685f + + + + + + + + + +image/svg+xml + + + + + + +test.ai + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + end='w' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/gtk-preferences.svg b/gfx/gtk-preferences.svg new file mode 100644 index 0000000..012819e --- /dev/null +++ b/gfx/gtk-preferences.svg @@ -0,0 +1,1209 @@ + + + + + + + + + image/svg+xml + + + + Andrew Fitzsimon + + + 2004-12-25 + Etiquette Icon + + + + Andrew Fitzsimon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/gtk-save.svg b/gfx/gtk-save.svg new file mode 100644 index 0000000..94724c7 --- /dev/null +++ b/gfx/gtk-save.svg @@ -0,0 +1,1300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + begin='' id='W5M0MpCehiHzreSzNTczkc9d' + + + + + + + + +Adobe PDF library 5.00 + + + + + + + + + + + + + +2004-02-04T02:08:51+02:00 + + + +2004-03-29T09:20:16Z + + + +Adobe Illustrator 10.0 + + + +2004-02-29T14:54:28+01:00 + + + + + + +JPEG + + + +256 + + + +256 + + + +/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA +AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK +DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f +Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER +AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA +AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB +UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE +1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ +qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy +obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp +0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo ++DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 +FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F +XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX +Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY +q7FXzd+b/wDzlWum3k+h+QxFc3EJMdzrkoEkKuNiLZPsyU/nb4fAEb50vZ/YXEBPLsP5v62meXue +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 + + + + + + + + + + + + + + + + +uuid:f3c53255-be8a-4b04-817b-695bf2c54c8b + + + + + + + +image/svg+xml + + + + + +filesave.ai + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + end='w' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/media-playback-pause.svg b/gfx/media-playback-pause.svg new file mode 100644 index 0000000..56e1d6b --- /dev/null +++ b/gfx/media-playback-pause.svg @@ -0,0 +1,630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Media Playback Pause + + + Lapo Calamandrei + + + + + + media + pause + playback + video + music + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/media-playback-start.svg b/gfx/media-playback-start.svg new file mode 100644 index 0000000..09195da --- /dev/null +++ b/gfx/media-playback-start.svg @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Media Playback Start + + + Lapo Calamandrei + + + + + + play + media + music + video + player + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/media-playback-stop.svg b/gfx/media-playback-stop.svg new file mode 100644 index 0000000..70cb229 --- /dev/null +++ b/gfx/media-playback-stop.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Media Playback Pause + + + Lapo Calamandrei + + + + + + media + stop + playback + video + music + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/media-skip-backward.svg b/gfx/media-skip-backward.svg new file mode 100644 index 0000000..7e84148 --- /dev/null +++ b/gfx/media-skip-backward.svg @@ -0,0 +1,1014 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Media Skip Backward + + + Lapo Calamandrei + + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/media-skip-forward.svg b/gfx/media-skip-forward.svg new file mode 100644 index 0000000..137d948 --- /dev/null +++ b/gfx/media-skip-forward.svg @@ -0,0 +1,1002 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Media Skip Forward + + + Lapo Calamandrei + + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/stock_volume-0.svg b/gfx/stock_volume-0.svg new file mode 100644 index 0000000..3284347 --- /dev/null +++ b/gfx/stock_volume-0.svg @@ -0,0 +1,893 @@ + + + + + + + + image/svg+xml + + + + Andrew Fitzsimon + + + 2004-12-25 + Etiquette Icon + + + + Andrew Fitzsimon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/stock_volume-max.svg b/gfx/stock_volume-max.svg new file mode 100644 index 0000000..1a345f0 --- /dev/null +++ b/gfx/stock_volume-max.svg @@ -0,0 +1,908 @@ + + + + + + + + image/svg+xml + + + + Andrew Fitzsimon + + + 2004-12-25 + Etiquette Icon + + + + Andrew Fitzsimon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/stock_volume-med.svg b/gfx/stock_volume-med.svg new file mode 100644 index 0000000..b1d2694 --- /dev/null +++ b/gfx/stock_volume-med.svg @@ -0,0 +1,903 @@ + + + + + + + + image/svg+xml + + + + Andrew Fitzsimon + + + 2004-12-25 + Etiquette Icon + + + + Andrew Fitzsimon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/stock_volume-min.svg b/gfx/stock_volume-min.svg new file mode 100644 index 0000000..86b5150 --- /dev/null +++ b/gfx/stock_volume-min.svg @@ -0,0 +1,898 @@ + + + + + + + + image/svg+xml + + + + Andrew Fitzsimon + + + 2004-12-25 + Etiquette Icon + + + + Andrew Fitzsimon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/stock_volume-mute.svg b/gfx/stock_volume-mute.svg new file mode 100644 index 0000000..979647d --- /dev/null +++ b/gfx/stock_volume-mute.svg @@ -0,0 +1,1273 @@ + + + + + + + + image/svg+xml + + + + Andrew Fitzsimon + + + 2004-12-25 + Etiquette Icon + + + + Andrew Fitzsimon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gfx/user_icon.svg b/gfx/user_icon.svg new file mode 100644 index 0000000..e800d50 --- /dev/null +++ b/gfx/user_icon.svg @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/misc.py b/misc.py index 3f26df8..c5b0c2e 100644 --- a/misc.py +++ b/misc.py @@ -20,9 +20,27 @@ def unique(seq): return t(c for c in seq if not (c in seen or seen.append(c))) class Button(QtGui.QPushButton): + iconSize=32 """A simple Button class which calls $onClick when clicked.""" - def __init__(self, caption, onClick=None, parent=None): - QtGui.QPushButton.__init__(self, caption, parent) + def __init__(self, caption, onClick=None, iconPath=None, iconOnly=False, parent=None): + QtGui.QPushButton.__init__(self, parent) if onClick: self.connect(self, QtCore.SIGNAL('clicked(bool)'), onClick) + if iconPath: + self.changeIcon(iconPath) + + if not(iconPath and iconOnly): + QtGui.QPushButton.setText(self, caption) + + self.setToolTip(caption) + + def setText(self, caption): + self.setToolTip(caption) + if self.icon()==None: + self.setText(caption) + + def changeIcon(self, iconPath): + icon=QtGui.QIcon() + icon.addFile(iconPath, QtCore.QSize(self.iconSize, self.iconSize)) + self.setIcon(icon) diff --git a/wgSongList.py b/wgSongList.py index f669c6a..8b6dc1f 100644 --- a/wgSongList.py +++ b/wgSongList.py @@ -1,4 +1,4 @@ -from PyQt4 import QtGui, QtCore +from PyQt4 import QtGui, QtCore, QtSvg import sys from traceback import print_exc @@ -18,9 +18,12 @@ class SongList(QtGui.QWidget): """The SongList widget is a list optimized for displaying an array of songs, with filtering option.""" # CONFIGURATION VARIABLES " height of line in pxl" - lineHeight=20 + lineHeight=30 + " font size in pxl" + fontSize=16 " margin" margin=4 + vmargin=(lineHeight-fontSize)/2-1 " width of the vscrollbar" scrollbarWidth=15 " minimum column width" @@ -32,7 +35,7 @@ class SongList(QtGui.QWidget): " background color" clrBg=QtGui.QColor(255,255,255) " indentation of hierarchy, in pixels" - indentation=20 + indentation=lineHeight " what function to call when the list is double clicked" onDoubleClick=None @@ -70,6 +73,9 @@ class SongList(QtGui.QWidget): resizeColumn=None # indicates this column should be recalculated redrawID=None # redraw this ID/row only + wgGfxAlbum=QtSvg.QSvgRenderer('gfx/gnome-cd.svg') + wgGfxArtist=QtSvg.QSvgRenderer('gfx/user_icon.svg') + def __init__(self, parent, headers, onDoubleClick): QtGui.QWidget.__init__(self, parent) @@ -114,6 +120,10 @@ class SongList(QtGui.QWidget): or QtCore.Qt.StrongFocus or QtCore.Qt.WheelFocus) self.setAttribute(QtCore.Qt.WA_OpaquePaintEvent) + font=QtGui.QFont() + font.setPixelSize(self.fontSize) + font.setFamily('Comic Sans Ms') + self.setFont(font) def sizeHint(self): return QtCore.QSize(10000,10000) @@ -363,8 +373,8 @@ class SongList(QtGui.QWidget): self.hScrollbar.setVisible(True) self.hScrollbar.setMinimum(0) self.hScrollbar.setMaximum((self.scrollWidth-self.width())/2) - self.hScrollbar.resize(self.width(), self.lineHeight) - self.hScrollbar.move(0, self.height()-self.lineHeight-1) + self.hScrollbar.resize(self.width()-4, self.scrollbarWidth) + self.hScrollbar.move(2, self.height()-self.hScrollbar.height()-1) # some changes because the hScrollbar takes some vertical space ... self.vScrollbar.resize(self.vScrollbar.width(), self.vScrollbar.height()-self.lineHeight) @@ -559,6 +569,7 @@ class SongList(QtGui.QWidget): lineHeight=self.lineHeight margin=self.margin + vmargin=self.vmargin selRows=self.selRows width=self.width() if self.vScrollbar.isVisible(): @@ -594,7 +605,7 @@ class SongList(QtGui.QWidget): x=margin+self.xOffset for hdr in self.headers: if hdr[2]: - p.drawText(QtCore.QPoint(x, lineHeight-margin), hdr[0]) + p.drawText(x, vmargin, hdr[1], lineHeight, QtCore.Qt.AlignLeft, hdr[0]) x+=hdr[1] p.drawLine(QtCore.QPoint(x-margin,0), QtCore.QPoint(x-margin,lineHeight)) @@ -614,6 +625,7 @@ class SongList(QtGui.QWidget): song=self.fSongs[row] lineHeight=self.lineHeight margin=self.margin + vmargin=self.vmargin id=song._data['id'] # determine color of row. Default is row-color, but can be overridden by @@ -658,11 +670,11 @@ class SongList(QtGui.QWidget): rect=p.boundingRect(x, y, hdr[1]-margin, lineHeight, QtCore.Qt.AlignLeft, str(song.getTag(hdr[0]))) text=str(song.getTag(hdr[0])) p.setPen(clrTxt) - p.drawText(x, y+1, hdr[1]-margin, lineHeight, QtCore.Qt.AlignLeft, text) + p.drawText(x, y+vmargin, hdr[1]-margin, lineHeight, QtCore.Qt.AlignLeft, text) if rect.width()>hdr[1]-margin: # print ellipsis, if necessary p.fillRect(x+hdr[1]-15,y+1,15,lineHeight-1, QtGui.QBrush(clr)) - p.drawText(x+hdr[1]-15,y+1,15,lineHeight-1, QtCore.Qt.AlignLeft, "...") + p.drawText(x+hdr[1]-15,y+vmargin,15,lineHeight-1, QtCore.Qt.AlignLeft, "...") x+=hdr[1] p.setPen(QtCore.Qt.black) p.drawLine(QtCore.QPoint(x-margin,y), QtCore.QPoint(x-margin,y+lineHeight)) @@ -713,11 +725,12 @@ class SongList(QtGui.QWidget): height=self.height() lineHeight=self.lineHeight margin=self.margin + vmargin=self.vmargin # paint the headers! p.fillRect(QtCore.QRect(0,0,width+self.vScrollbar.width(),lineHeight), QtGui.QBrush(QtCore.Qt.lightGray)) p.drawRect(QtCore.QRect(0,0,width+self.vScrollbar.width()-1,lineHeight-1)) - p.drawText(margin, 1, width, lineHeight, QtCore.Qt.AlignLeft, self.groupByStr) + p.drawText(margin, vmargin, width, lineHeight, QtCore.Qt.AlignLeft, self.groupByStr) entries=self.fSongs @@ -733,13 +746,14 @@ class SongList(QtGui.QWidget): isSong=isinstance(entry[LIB_VALUE], Song) if isSong: + prefix='' text=entry[LIB_VALUE].getTitle() #text=str(entry) else: if entry[LIB_EXPANDED]==1: prefix='-' elif entry[LIB_EXPANDED]==0: prefix='+' - text='%s\t%s: %s'%(prefix, self.levels[level], entry[LIB_VALUE]) - #text='%s\t%s: %s'%(prefix, self.levels[level], str(entry)) + text='%s: %s'%(self.levels[level], entry[LIB_VALUE]) + #text='%%s: %s'%(prefix, self.levels[level], str(entry)) clr=self.colors[row%2] # background color of the row clrTxt=QtCore.Qt.black @@ -761,14 +775,32 @@ class SongList(QtGui.QWidget): for i in self.selMiscs: if index==i: - clr=QtCore.Qt.lightGray + clr=self.clrSel clrTxt=QtCore.Qt.white + + # it has a VIP-status! + if isSong and entry[LIB_VALUE].getID()==int(self.clrID[0]): + clrTxt=QtCore.Qt.white + clr=self.clrID[1] - p.fillRect(QtCore.QRect(x+indent*entry[LIB_INDENT]-2,y,width-3,lineHeight), clr) + left=x+indent*(1+level) + top=y+vmargin + p.fillRect(QtCore.QRect(left,y,width-3,lineHeight), clr) p.setPen(clrTxt) - p.drawText(x+indent*entry[LIB_INDENT],y+1, width, lineHeight, QtCore.Qt.AlignLeft, text) + p.drawText(left, top, 15, lineHeight, QtCore.Qt.AlignLeft, prefix) + p.drawText(left+15, top, width, lineHeight, QtCore.Qt.AlignLeft, text) p.setPen(QtCore.Qt.black) + obj=None + if level