diff options
| author | Ted Gould <ted@gould.cx> | 2010-07-13 20:16:51 +0000 |
|---|---|---|
| committer | Ted Gould <ted@gould.cx> | 2010-07-13 20:16:51 +0000 |
| commit | ef2d72d29fce61231bdd7888ab8330503158e9d6 (patch) | |
| tree | 4685bfddef010181fdd87fc182016b994f2b69d9 /src/ui/dialog | |
| parent | Pulling in a more recent trunk (diff) | |
| parent | Translations. Romanian nsh file update. (diff) | |
| download | inkscape-ef2d72d29fce61231bdd7888ab8330503158e9d6.tar.gz inkscape-ef2d72d29fce61231bdd7888ab8330503158e9d6.zip | |
Upgrading to trunk
(bzr r8254.1.57)
Diffstat (limited to 'src/ui/dialog')
| -rw-r--r-- | src/ui/dialog/aboutbox.cpp | 349 | ||||
| -rw-r--r-- | src/ui/dialog/dialog-manager.cpp | 6 | ||||
| -rw-r--r-- | src/ui/dialog/document-properties.cpp | 1 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.cpp | 9 | ||||
| -rw-r--r-- | src/ui/dialog/livepatheffect-editor.cpp | 5 | ||||
| -rw-r--r-- | src/ui/dialog/livepatheffect-editor.h | 2 | ||||
| -rw-r--r-- | src/ui/dialog/print-colors-preview-dialog.cpp | 3 | ||||
| -rw-r--r-- | src/ui/dialog/swatches.cpp | 200 | ||||
| -rw-r--r-- | src/ui/dialog/swatches.h | 3 |
9 files changed, 365 insertions, 213 deletions
diff --git a/src/ui/dialog/aboutbox.cpp b/src/ui/dialog/aboutbox.cpp index bbd02fa5d..8d467d53f 100644 --- a/src/ui/dialog/aboutbox.cpp +++ b/src/ui/dialog/aboutbox.cpp @@ -216,7 +216,7 @@ void AboutBox::initStrings() { * To update it, execute this snippet of sed magic in the toplevel * source directory: * - * sed -e 's/^\(.*\) \([^ ]*\)*$/\2_ \1/' ../../../AUTHORS + * sed -e 's/^\(.*\) \([^ ]*\)*$/\2_ \1/' AUTHORS | sort | sed -e 's/^\([^_]*\)_ \(.*\)$/\2 \1/;s/^.*$/"\0\\n"/;$s/\\n//' | zenity --text-info @@ -224,140 +224,152 @@ void AboutBox::initStrings() { * and paste the result from the combo box here. */ authors_text = - "Maximilian Albert\n" - "Josh Andler\n" - "Jean-François Barraud\n" - "Bill Baxter\n" - "John Bintz\n" - "Arpad Biro\n" - "Nicholas Bishop\n" - "Joshua L. Blocher\n" - "Henrik Bohre\n" - "Boldewyn\n" - "Daniel Borgmann\n" - "Bastien Bouclet\n" - "Hans Breuer\n" - "Gustav Broberg\n" - "Christopher Brown\n" - "Marcus Brubaker\n" - "Luca Bruno\n" - "Nicu Buculei\n" - "Bulia Byak\n" - "Ian Caldwell\n" - "Gail Carmichael\n" - "Ed Catmur\n" - "Chema Celorio\n" - "Johan Ceuppens\n" - "Zbigniew Chyla\n" - "Alexander Clausen\n" - "John Cliff\n" - "Kees Cook\n" - "Ben Cromwell\n" - "Robert Crosbie\n" - "Jon Cruz\n" - "Aurélie De-Cooman\n" - "Milosz Derezynski\n" - "Daniel Díaz\n" - "Bruno Dilly\n" - "Larry Doolittle\n" - "Tim Dwyer\n" - "Maxim V. Dziumanenko\n" - "Johan Engelen\n" - "Miklos Erdelyi\n" - "Ulf Erikson\n" - "Noé Falzon\n" - "Frank Felfe\n" - "Andrew Fitzsimon\n" - "Edward Flick\n" - "Marcin Floryan\n" - "Ben Fowler\n" - "Fred\n" - "Cedric Gemy\n" - "Steren Giannini\n" - "Olivier Gondouin\n" - "Ted Gould\n" - "Toine de Greef\n" - "Michael Grosberg\n" - "Bryce Harrington\n" - "Dale Harvey\n" - "Aurélio Heckert\n" - "Carl Hetherington\n" - "Jos Hirth\n" - "Thomas Holder\n" - "Joel Holdsworth\n" - "Alan Horkan\n" - "Karl Ove Hufthammer\n" - "Richard Hughes\n" - "Nathan Hurst\n" - "inductiveload\n" - "Thomas Ingham\n" - "Jean-Olivier Irisson\n" - "Bob Jamison\n" - "jEsuSdA\n" - "Lauris Kaplinski\n" - "Lynn Kerby\n" - "Niko Kiirala\n" - "James Kilfiger\n" - "Jason Kivlighn\n" - "Adrian Knoth\n" - "Krzysztof Kosiński\n" - "Petr Kovar\n" - "Raph Levien\n" - "Diederik van Lierop\n" - "Nicklas Lindgren\n" - "Vitaly Lipatov\n" - "Ivan Louette\n" - "Colin Marquardt\n" - "Dmitry G. Mastrukov\n" - "Matiphas\n" - "Michael Meeks\n" - "Federico Mena\n" - "MenTaLguY\n" - "Aubanel Monnier\n" - "Tim Mooney\n" - "Derek P. Moore\n" - "Peter Moulder\n" - "Jörg Müller\n" - "Yukihiro Nakai\n" - "Victor Navez\n" - "Christian Neumair\n" - "Andreas Nilsson\n" - "Mitsuru Oka\n" - "Marten Owens\n" - "Alvin Penner\n" - "Jon Phillips\n" - "Zdenko Podobny\n" - "Alexandre Prokoudine\n" - "Jean-René Reinhard\n" - "Alexey Remizov\n" - "Frederic Rodrigo\n" - "Hugo Rodrigues\n" - "Juarez Rudsatz\n" - "Xavier Conde Rueda\n" - "Felipe Corrêa da Silva Sanches\n" - "Christian Schaller\n" - "Marco Scholten\n" - "Tom von Schwerdtner\n" - "Danilo Šegan\n" - "Shivaken\n" - "Michael Sloan\n" - "Boštjan Špetič\n" - "Aaron Spike\n" - "Kaushik Sridharan\n" - "Ralf Stephan\n" - "Dariusz Stojek\n" - "Pat Suwalski\n" - "Adib Taraben\n" - "Hugh Tebby\n" - "Jonas Termeau\n" - "David Turner\n" - "Andre Twupack\n" - "Aleksandar Urošević\n" - "Lucas Vieites\n" - "Michael Wybrow\n" - "Daniel Yacob\n" - "Masatake Yamato\n" - "David Yip"; + "Maximilian Albert\n" + "Josh Andler\n" + "Tavmjong Bah\n" + "Pierre Barbry-Blot\n" + "Jean-François Barraud\n" + "Bill Baxter\n" + "John Beard\n" + "John Bintz\n" + "Arpad Biro\n" + "Nicholas Bishop\n" + "Joshua L. Blocher\n" + "Henrik Bohre\n" + "Boldewyn\n" + "Daniel Borgmann\n" + "Bastien Bouclet\n" + "Hans Breuer\n" + "Gustav Broberg\n" + "Christopher Brown\n" + "Marcus Brubaker\n" + "Luca Bruno\n" + "Nicu Buculei\n" + "Bulia Byak\n" + "Pierre Caclin\n" + "Ian Caldwell\n" + "Gail Carmichael\n" + "Ed Catmur\n" + "Chema Celorio\n" + "Johan Ceuppens\n" + "Zbigniew Chyla\n" + "Alexander Clausen\n" + "John Cliff\n" + "Kees Cook\n" + "Ben Cromwell\n" + "Robert Crosbie\n" + "Jon Cruz\n" + "Aurélie De-Cooman\n" + "Milosz Derezynski\n" + "Daniel Díaz\n" + "Bruno Dilly\n" + "Larry Doolittle\n" + "Tim Dwyer\n" + "Maxim V. Dziumanenko\n" + "Johan Engelen\n" + "Miklos Erdelyi\n" + "Ulf Erikson\n" + "Noé Falzon\n" + "Frank Felfe\n" + "Andrew Fitzsimon\n" + "Edward Flick\n" + "Marcin Floryan\n" + "Ben Fowler\n" + "Fred\n" + "Cedric Gemy\n" + "Steren Giannini\n" + "Olivier Gondouin\n" + "Ted Gould\n" + "Toine de Greef\n" + "Michael Grosberg\n" + "Bryce Harrington\n" + "Dale Harvey\n" + "Aurélio A. Heckert\n" + "Carl Hetherington\n" + "Jos Hirth\n" + "Hannes Hochreiner\n" + "Thomas Holder\n" + "Joel Holdsworth\n" + "Alan Horkan\n" + "Karl Ove Hufthammer\n" + "Richard Hughes\n" + "Nathan Hurst\n" + "inductiveload\n" + "Thomas Ingham\n" + "Jean-Olivier Irisson\n" + "Bob Jamison\n" + "jEsuSdA\n" + "Lauris Kaplinski\n" + "Lynn Kerby\n" + "Niko Kiirala\n" + "James Kilfiger\n" + "Jason Kivlighn\n" + "Adrian Knoth\n" + "Krzysztof Kosiński\n" + "Petr Kovar\n" + "Benoît Lavorata\n" + "Alex Leone\n" + "Julien Leray\n" + "Raph Levien\n" + "Diederik van Lierop\n" + "Nicklas Lindgren\n" + "Vitaly Lipatov\n" + "Ivan Louette\n" + "Pierre-Antoine Marc\n" + "Aurel-Aimé Marmion\n" + "Colin Marquardt\n" + "Dmitry G. Mastrukov\n" + "Matiphas\n" + "Michael Meeks\n" + "Federico Mena\n" + "MenTaLguY\n" + "Aubanel Monnier\n" + "Vincent Montagne\n" + "Tim Mooney\n" + "Derek P. Moore\n" + "Peter Moulder\n" + "Jörg Müller\n" + "Yukihiro Nakai\n" + "Victor Navez\n" + "Christian Neumair\n" + "Andreas Nilsson\n" + "Mitsuru Oka\n" + "Marten Owens\n" + "Alvin Penner\n" + "Jon Phillips\n" + "Zdenko Podobny\n" + "Alexandre Prokoudine\n" + "Jean-René Reinhard\n" + "Alexey Remizov\n" + "Frederic Rodrigo\n" + "Hugo Rodrigues\n" + "Juarez Rudsatz\n" + "Xavier Conde Rueda\n" + "Felipe Corrêa da Silva Sanches\n" + "Christian Schaller\n" + "Marco Scholten\n" + "Tom von Schwerdtner\n" + "Danilo Šegan\n" + "Shivaken\n" + "Michael Sloan\n" + "Boštjan Špetič\n" + "Aaron Spike\n" + "Kaushik Sridharan\n" + "Ralf Stephan\n" + "Dariusz Stojek\n" + "Martin Sucha\n" + "Pat Suwalski\n" + "Adib Taraben\n" + "Hugh Tebby\n" + "Jonas Termeau\n" + "David Turner\n" + "Andre Twupack\n" + "Aleksandar Urošević\n" + "Lucas Vieites\n" + "Michael Wybrow\n" + "Daniel Yacob\n" + "Masatake Yamato\n" + "David Yip"; //############################## //# T R A N S L A T O R S @@ -385,19 +397,27 @@ void AboutBox::initStrings() { translators_text.append("\n\n\n"); } - /** - * This list is copied from the TRANSLATORS file. It should - * be periodically updated. - */ + /* This text is copied from the TRANSLATORS file. + * To update it, execute this snippet of sed magic in the toplevel + * source directory: + * + * sed -e 's/^\(.*\) \([^ ]*\)*$/\2_ \1/' TRANSLATORS + | sed -e 's/^\([^_]*\)_ \(.*\)$/\2 \1/;s/^.*$/"\0\\n"/;$s/\\n//' + | zenity --text-info + * + * and paste the result from the combo box here. + */ gchar const *allTranslators = "3ARRANO.com <3arrano@3arrano.com>, 2005.\n" - "Adib Taraben <theadib@yahoo.com>, 2004.\n" + "Adib Taraben <theadib@googlemail.com>, 2004.\n" + "Alan Monfort <alan.monfort@free.fr>, 2009-2010.\n" "Alastair McKinstry <mckinstry@computer.org>, 2000.\n" "Aleksandar Urošević <urke@users.sourceforge.net>, 2004, 2005, 2006.\n" "Alessio Frusciante <algol@firenze.linux.it>, 2002, 2003.\n" "Alexander Shopov <ash@contact.bg>, 2006.\n" "Alexandre Prokoudine <alexandre.prokoudine@gmail.com>, 2005.\n" "Alexey Remizov <alexey@remizov.pp.ru>, 2004.\n" + "Ali Ghanavatian <ghanvatian.ali@gmail.com>, 2010.\n" "Álvaro Lopes <alvieboy@alvie.com>, 2001, 2002.\n" "Andreas Hyden <a.hyden@cyberpoint.se>, 2000.\n" "Andrius Ramanauskas <knutux@gmail.com>, 2006.\n" @@ -407,6 +427,7 @@ void AboutBox::initStrings() { "Arman Aksoy <armish@linux-sevenler.de>, 2003.\n" "Arpad Biro <biro_arpad@yahoo.com>, 2004, 2005.\n" "Benedikt Roth <Benedikt.Roth@gmx.net>, 2000.\n" + "Benno Schulenberg <benno@vertaalt.nl>, 2008.\n" "Boštjan Špetič <igzebedze@cyberpipe.org>, 2004, 2005.\n" "Brisa Francesco <fbrisa@yahoo.it>, 2000.\n" "bulia byak <buliabyak@users.sf.net>, 2004.\n" @@ -414,25 +435,33 @@ void AboutBox::initStrings() { "Christian Meyer <chrisime@gnome.org>, 2000-2002.\n" "Christian Neumair <chris@gnome-de.org>, 2002, 2003.\n" "Christian Rose <menthos@menthos.com>, 2000, 2001, 2002, 2003.\n" + "Cristian Secară <cristi@secarica.ro>, 2010.\n" "Christophe Merlet (RedFox) <redfox@redfoxcenter.org>, 2000-2002.\n" + "Clytie Siddall <clytie@riverland.net.au>, 2004-2008.\n" "Colin Marquardt <colin@marquardt-home.de>, 2004-2006.\n" "Cédric Gemy <radar.map35@free.fr>, 2006.\n" "Daniel Díaz <yosoy@danieldiaz.org>, 2004.\n" "Didier Conchaudron <conchaudron@free.fr>, 2003.\n" "Dorji Tashi <dorjee_doss@hotmail.com>, 2006.\n" "Duarte Loreto <happyguy_pt@hotmail.com> 2002, 2003 (Maintainer).\n" + "Equipe de Tradução Inkscape Brasil <www.inkscapebrasil.org>, 2007.\n" "Fatih Demir <kabalak@gtranslator.org>, 2000.\n" + "Foppe Benedictus <foppe.benedictus@gmail.com>, 2007-2009.\n" "Francesc Dorca <f.dorca@filnet.es>, 2003. Traducció sodipodi.\n" "Francisco Javier F. Serrador <serrador@arrakis.es>, 2003.\n" "Francisco Xosé Vázquez Grandal <fxvazquez@arrakis.es>, 2001.\n" "Frederic Rodrigo <f.rodrigo free.fr>, 2004-2005.\n" "Ge'ez Frontier Foundation <locales@geez.org>, 2002.\n" + "Hleb Valoshka <375gnu@gmail.com>, 2008-2009.\n" "Hizkuntza Politikarako Sailburuordetza <hizkpol@ej-gv.es>, 2005.\n" "Ilia Penev <lichopicho@gmail.com>, 2006.\n" + "Ivan Masár <helix84@centrum.sk>, 2006, 2007, 2008, 2009, 2010. \n" "Iñaki Larrañaga <dooteo@euskalgnu.org>, 2006.\n" - "Jin-Hwan Jeong <yongdoria@gmail.com>, 2009.\n" + "Jeffrey Steve Borbón Sanabria <jeff_kerokid@yahoo.com>, 2005.\n" + "Joaquim Perez i Noguer <noguer@gmail.com>, 2008-2009.\n" "Jörg Müller <jfm@ram-brand.de>, 2005.\n" - "Jeroen van der Vegt <ajvdvegt (at) 123mail.org>, 2003, 2005.\n" + "Jeroen van der Vegt <jvdvegt@gmail.com>, 2003, 2005, 2008.\n" + "Jin-Hwan Jeong <yongdoria@gmail.com>, 2009.\n" "Jonathan Ernst <jernst@users.sourceforge.net>, 2006.\n" "Jose Antonio Salgueiro Aquino <developer@telefonica.net>, 2003.\n" "Josef Vybiral <josef.vybiral@gmail.com>, 2005-2006.\n" @@ -441,29 +470,40 @@ void AboutBox::initStrings() { "Jurmey Rabgay <jur_gay@yahoo.com>, 2006.\n" "Kai Lahmann <kailahmann@01019freenet.de>, 2000.\n" "Karl Ove Hufthammer <karl@huftis.org>, 2004, 2005.\n" - "Keld Simonsen <keld@dkuug.dk>, 2000-2001.\n" + "KATSURAGAWA Naoki <naopon@private.email.ne.jp>, 2006.\n" + "Keld Simonsen <keld@dkuug.dk>, 2000, 2001.\n" + "Kenji Inoue <kenz@oct.zaq.ne.jp>, 2006-2007.\n" + "Khandakar Mujahidul Islam <suzan@bengalinux.org>, 2006.\n" "Kitae <bluetux@gmail.com>, 2006.\n" "Kjartan Maraas <kmaraas@gnome.org>, 2000-2002.\n" + "Kris De Gussem <kris.DeGussem@gmail.com>, 2008-2010.\n" "Lauris Kaplinski <lauris@ariman.ee>, 2000.\n" + "Leandro Regueiro <leandro.regueiro@gmail.com>, 2006-2008,2010.\n" + "Liu Xiaoqin <liuxqsmile@gmail.com>, 2008.\n" "Luca Bruno <luca.br@uno.it>, 2005.\n" - "Lucas Vieites Fariña<lucas@asixinformatica.com>, 2003-2005.\n" + "Lucas Vieites Fariña<lucas@codexion.com>, 2003-2010.\n" "Mahesh subedi <submanesh@hotmail.com>, 2006.\n" - "Marcin Floryan <marcin.floryan@gmail.com>, 2008.\n" - "Martin Srebotnjak, <miles@filmsi.net>, 2005.\n" + "Martin Srebotnjak, <miles@filmsi.net>, 2005, 2010.\n" "Masatake YAMATO <jet@gyve.org>, 2002.\n" + "Masato Hashimoto <cabezon.hashimoto@gmail.com>, 2009-2010.\n" "Matiphas <matiphas _a_ free _point_ fr>, 2004-2006.\n" "Mattias Hultgren <mattias_hultgren@tele2.se>, 2005.\n" "Maxim Dziumanenko <mvd@mylinux.com.ua>, 2004.\n" + "Mətin Əmirov <metin@karegen.com>, 2003.\n" "Mitsuru Oka <oka326@parkcity.ne.jp>, 2002.\n" "Morphix User <pchitrakar@gmail.com>, 2006.\n" "Mufit Eribol <meribol@ere.com.tr>, 2000.\n" - "Nicolas Dufour <nicoduf@yahoo.fr>, 2008-2009.\n" + "Muhammad Bashir Al-Noimi <mhdbnoimi@gmail.com>, 2008.\n" + "Myckel Habets <myckel@sdf.lonestar.org>, 2008.\n" + "Nguyen Dinh Trung <nguyendinhtrung141@gmail.com>, 2007, 2008.\n" + "Nicolas Dufour <nicoduf@yahoo.fr>, 2008-2010.\n" "Pawan Chitrakar <pchitrakar@gmail.com>, 2006.\n" "Przemysław Loesch <p_loesch@poczta.onet.pl>, 2005.\n" "Quico Llach <quico@softcatala.org>, 2000. Traducció sodipodi.\n" - "Raymond Ostertag <raymond@linuxgraphic.org>, 2002-2003.\n" + "Raymond Ostertag <raymond@linuxgraphic.org>, 2002, 2003.\n" "Riku Leino <tsoots@gmail.com>, 2006.\n" "Rune Rønde Laursen <runerl@skjoldhoej.dk>, 2006.\n" + "Ruud Steltenpool <svg@steltenpower.com>, 2006.\n" "Serdar Soytetir <sendirom@gmail.com>, 2005.\n" "shivaken <shivaken@owls-nest.net>, 2004.\n" "Shyam Krishna Bal <shyamkrishna_bal@yahoo.com>, 2006.\n" @@ -471,10 +511,13 @@ void AboutBox::initStrings() { "Spyros Blanas <cid_e@users.sourceforge.net>, 2006.\n" "Stefan Graubner <pflaumenmus92@gmx.net>, 2005.\n" "Supranee Thirawatthanasuk <supranee@opentle.org>, 2006.\n" - "Takeshi Aihana <aihana@muc.biglobe.ne.jp>, 2000-2001.\n" + "Takeshi Aihana <aihana@muc.biglobe.ne.jp>, 2000, 2001.\n" + "Tim Sheridan <tim.sheridan@gmail.com>, 2007-2010.\n" "Theppitak Karoonboonyanan <thep@linux.thai.net>, 2006.\n" + "Thiago Pimentel <thiago.merces@gmail.com>, 2006.\n" + "Toshifumi Sato <sato@centrosystem.com>, 2005.\n" "Jon South <striker@lunar-linux.org>, 2006. \n" - "Uwe Schöler <uschoeler@yahoo.de>, 2006.\n" + "Uwe Schöler <oss@oss-marketplace.com>, 2006.\n" "Valek Filippov <frob@df.ru>, 2000, 2003.\n" "Victor Dachev <vdachev@gmail.com>, 2006.\n" "Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>, 2003.\n" @@ -484,12 +527,14 @@ void AboutBox::initStrings() { "Wang Li <charlesw1234@163.com>, 2002.\n" "Wei-Lun Chao <william.chao@ossii.com.tw>, 2006.\n" "Wolfram Strempfer <wolfram@strempfer.de>, 2006.\n" - "Xavier Conde Rueda <xavi.conde@gmail.com>, 2004, 2005.\n" + "Xavier Conde Rueda <xavi.conde@gmail.com>, 2004-2008.\n" + "Yaron Shahrabani <sh.yaron@gmail.com>, 2009.\n" "Yukihiro Nakai <nakai@gnome.gr.jp>, 2000, 2003.\n" "Yuri Beznos <zhiz0id@gmail.com>, 2006.\n" + "Yuri Chornoivan <yurchor@ukr.net>, 2007-2010.\n" "Yuri Syrota <rasta@renome.rovno.ua>, 2000.\n" "Yves Guillou <yvesguillou@users.sourceforge.net>, 2004.\n" - "Zdenko Podobný <zdpo@mailbox.sk>, 2003, 2004.\n" + "Zdenko Podobný <zdpo@mailbox.sk>, 2003, 2004." ; translators_text.append(allTranslators); diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp index 6d3bc817e..aab9d89d7 100644 --- a/src/ui/dialog/dialog-manager.cpp +++ b/src/ui/dialog/dialog-manager.cpp @@ -41,7 +41,7 @@ #include "ui/dialog/icon-preview.h" #include "ui/dialog/floating-behavior.h" #include "ui/dialog/dock-behavior.h" -#include "ui/dialog/print-colors-preview-dialog.h" +//#include "ui/dialog/print-colors-preview-dialog.h" #include "preferences.h" #ifdef ENABLE_SVG_FONTS @@ -104,7 +104,7 @@ DialogManager::DialogManager() { registerFactory("LivePathEffect", &create<LivePathEffectEditor, FloatingBehavior>); registerFactory("Memory", &create<Memory, FloatingBehavior>); registerFactory("Messages", &create<Messages, FloatingBehavior>); - registerFactory("PrintColorsPreviewDialog", &create<PrintColorsPreviewDialog, FloatingBehavior>); +// registerFactory("PrintColorsPreviewDialog", &create<PrintColorsPreviewDialog, FloatingBehavior>); registerFactory("Script", &create<ScriptDialog, FloatingBehavior>); #ifdef ENABLE_SVG_FONTS registerFactory("SvgFontsDialog", &create<SvgFontsDialog, FloatingBehavior>); @@ -132,7 +132,7 @@ DialogManager::DialogManager() { registerFactory("LivePathEffect", &create<LivePathEffectEditor, DockBehavior>); registerFactory("Memory", &create<Memory, DockBehavior>); registerFactory("Messages", &create<Messages, DockBehavior>); - registerFactory("PrintColorsPreviewDialog", &create<PrintColorsPreviewDialog, DockBehavior>); +// registerFactory("PrintColorsPreviewDialog", &create<PrintColorsPreviewDialog, DockBehavior>); registerFactory("Script", &create<ScriptDialog, DockBehavior>); #ifdef ENABLE_SVG_FONTS registerFactory("SvgFontsDialog", &create<SvgFontsDialog, DockBehavior>); diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 86baa85cd..33fdf8327 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -825,6 +825,7 @@ DocumentProperties::update() double const doc_w_px = sp_document_width(sp_desktop_document(dt)); double const doc_h_px = sp_document_height(sp_desktop_document(dt)); _page_sizer.setDim (doc_w_px, doc_h_px); + _page_sizer.updateFitMarginsUI(SP_OBJECT_REPR(nv)); //-----------------------------------------------------------guide page diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 3c48a7972..8f5194eda 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -540,8 +540,9 @@ void InkscapePreferences::initPageTools() this->AddNewObjectsStyle(_page_eraser, "/tools/eraser"); //LPETool - this->AddPage(_page_lpetool, _("LPE Tool"), iter_tools, PREFS_PAGE_TOOLS_LPETOOL); - this->AddNewObjectsStyle(_page_lpetool, "/tools/lpetool"); + // commented out, because the LPETool is not finished yet. + //this->AddPage(_page_lpetool, _("LPE Tool"), iter_tools, PREFS_PAGE_TOOLS_LPETOOL); + //this->AddNewObjectsStyle(_page_lpetool, "/tools/lpetool"); //Text this->AddPage(_page_text, _("Text"), iter_tools, PREFS_PAGE_TOOLS_TEXT); @@ -1116,11 +1117,11 @@ void InkscapePreferences::initPageUI() _("Mongolian (mn)"), _("Nepali (ne)"), _("Norwegian Bokmål (nb)"), _("Norwegian Nynorsk (nn)"), _("Panjabi (pa)"), _("Polish (pl)"), _("Portuguese (pt)"), _("Portuguese/Brazil (pt_BR)"), _("Romanian (ro)"), _("Russian (ru)"), _("Serbian (sr)"), _("Serbian in Latin script (sr@latin)"), _("Slovak (sk)"), _("Slovenian (sl)"), _("Spanish (es)"), _("Spanish/Mexico (es_MX)"), - _("Swedish (sv)"), _("Thai (th)"), _("Turkish (tr)"), _("Ukrainian (uk)"), _("Vietnamese (vi)")}; + _("Swedish (sv)"),_("Telugu (te_IN)"), _("Thai (th)"), _("Turkish (tr)"), _("Ukrainian (uk)"), _("Vietnamese (vi)")}; Glib::ustring langValues[] = {"", "sq", "am", "ar", "hy", "az", "eu", "be", "bg", "bn", "br", "ca", "ca@valencia", "zh_CN", "zh_TW", "hr", "cs", "da", "nl", "dz", "de", "el", "en", "en_AU", "en_CA", "en_GB", "en_US@piglatin", "eo", "et", "fa", "fi", "fr", "ga", "gl", "he", "hu", "id", "it", "ja", "km", "rw", "ko", "lt", "mk", "mn", "ne", "nb", "nn", "pa", - "pl", "pt", "pt_BR", "ro", "ru", "sr", "sr@latin", "sk", "sl", "es", "es_MX", "sv", "th", "tr", "uk", "vi" }; + "pl", "pt", "pt_BR", "ro", "ru", "sr", "sr@latin", "sk", "sl", "es", "es_MX", "sv", "te_IN", "th", "tr", "uk", "vi" }; _ui_languages.init( "/ui/language", languages, langValues, G_N_ELEMENTS(languages), languages[0]); _page_ui.add_line( false, _("Language (requires restart):"), _ui_languages, "", diff --git a/src/ui/dialog/livepatheffect-editor.cpp b/src/ui/dialog/livepatheffect-editor.cpp index dec437be9..62ed4e639 100644 --- a/src/ui/dialog/livepatheffect-editor.cpp +++ b/src/ui/dialog/livepatheffect-editor.cpp @@ -51,9 +51,10 @@ namespace Dialog { /*#################### * Callback functions */ -static void lpeeditor_selection_changed (Inkscape::Selection * selection, gpointer data) +void lpeeditor_selection_changed (Inkscape::Selection * selection, gpointer data) { LivePathEffectEditor *lpeeditor = static_cast<LivePathEffectEditor *>(data); + lpeeditor->lpe_list_locked = false; lpeeditor->onSelectionChanged(selection); } @@ -327,6 +328,7 @@ LivePathEffectEditor::setDesktop(SPDesktop *desktop) selection_modified_connection.disconnect(); } + lpe_list_locked = false; current_desktop = desktop; if (desktop) { Inkscape::Selection *selection = sp_desktop_selection(desktop); @@ -373,6 +375,7 @@ LivePathEffectEditor::onApply() sp_document_done(doc, SP_VERB_DIALOG_LIVE_PATH_EFFECT, _("Create and apply path effect")); + lpe_list_locked = false; onSelectionChanged(sel); } } diff --git a/src/ui/dialog/livepatheffect-editor.h b/src/ui/dialog/livepatheffect-editor.h index 1152e8bb8..50e948644 100644 --- a/src/ui/dialog/livepatheffect-editor.h +++ b/src/ui/dialog/livepatheffect-editor.h @@ -123,6 +123,8 @@ private: SPLPEItem * current_lpeitem; + friend void lpeeditor_selection_changed (Inkscape::Selection * selection, gpointer data); + LivePathEffectEditor(LivePathEffectEditor const &d); LivePathEffectEditor& operator=(LivePathEffectEditor const &d); }; diff --git a/src/ui/dialog/print-colors-preview-dialog.cpp b/src/ui/dialog/print-colors-preview-dialog.cpp index f4d83c271..1f999f692 100644 --- a/src/ui/dialog/print-colors-preview-dialog.cpp +++ b/src/ui/dialog/print-colors-preview-dialog.cpp @@ -7,7 +7,7 @@ * Copyright (C) 2009 Authors * Released under GNU GPLv2 (or later). Read the file 'COPYING' for more information. */ - +/* #include "desktop.h" #include "print-colors-preview-dialog.h" #include "preferences.h" @@ -98,3 +98,4 @@ PrintColorsPreviewDialog::~PrintColorsPreviewDialog(){} } // namespace Dialog } // namespace UI } // namespace Inkscape +*/ diff --git a/src/ui/dialog/swatches.cpp b/src/ui/dialog/swatches.cpp index 6f013f4f3..29e480e24 100644 --- a/src/ui/dialog/swatches.cpp +++ b/src/ui/dialog/swatches.cpp @@ -14,6 +14,7 @@ #include <errno.h> #include <map> +#include <algorithm> #include <gtk/gtkdialog.h> //for GTK_RESPONSE* types #include <gtk/gtkdnd.h> @@ -44,11 +45,12 @@ #include "swatches.h" #include "style.h" #include "ui/previewholder.h" +#include "widgets/desktop-widget.h" #include "widgets/gradient-vector.h" #include "widgets/eek-preview.h" #include "display/nr-plain-stuff.h" #include "sp-gradient-reference.h" - +#include "dialog-manager.h" namespace Inkscape { namespace UI { @@ -68,6 +70,12 @@ static std::vector<DocTrack*> docTrackings; static std::map<SwatchesPanel*, SPDocument*> docPerPanel; +class SwatchesPanelHook : public SwatchesPanel +{ +public: + static void convertGradient( GtkMenuItem *menuitem, gpointer userData ); + static void deleteGradient( GtkMenuItem *menuitem, gpointer userData ); +}; static void handleClick( GtkWidget* /*widget*/, gpointer callback_data ) { ColorItem* item = reinterpret_cast<ColorItem*>(callback_data); @@ -84,6 +92,9 @@ static void handleSecondaryClick( GtkWidget* /*widget*/, gint /*arg1*/, gpointer } static GtkWidget* popupMenu = 0; +static GtkWidget *popupSubHolder = 0; +static GtkWidget *popupSub = 0; +static std::vector<Glib::ustring> popupItems; static std::vector<GtkWidget*> popupExtras; static ColorItem* bounceTarget = 0; static SwatchesPanel* bouncePanel = 0; @@ -102,11 +113,37 @@ static void redirSecondaryClick( GtkMenuItem *menuitem, gpointer /*user_data*/ ) } } -static void editGradientImpl( SPGradient* gr ) +static void editGradientImpl( SPDesktop* desktop, SPGradient* gr ) { if ( gr ) { - GtkWidget *dialog = sp_gradient_vector_editor_new( gr ); - gtk_widget_show( dialog ); + bool shown = false; + if ( desktop && desktop->doc() ) { + Inkscape::Selection *selection = sp_desktop_selection( desktop ); + GSList const *items = selection->itemList(); + if (items) { + SPStyle *query = sp_style_new( desktop->doc() ); + int result = objects_query_fillstroke(const_cast<GSList *>(items), query, true); + if ( (result == QUERY_STYLE_MULTIPLE_SAME) || (result == QUERY_STYLE_SINGLE) ) { + // could be pertinent + if (query->fill.isPaintserver()) { + SPPaintServer* server = query->getFillPaintServer(); + if ( SP_IS_GRADIENT(server) ) { + SPGradient* grad = SP_GRADIENT(server); + if ( grad->isSwatch() && grad->getId() == gr->getId()) { + desktop->_dlg_mgr->showDialog("FillAndStroke"); + shown = true; + } + } + } + } + sp_style_unref(query); + } + } + + if (!shown) { + GtkWidget *dialog = sp_gradient_vector_editor_new( gr ); + gtk_widget_show( dialog ); + } } } @@ -122,7 +159,7 @@ static void editGradient( GtkMenuItem */*menuitem*/, gpointer /*user_data*/ ) for (const GSList *item = gradients; item; item = item->next) { SPGradient* grad = SP_GRADIENT(item->data); if ( targetName == grad->getId() ) { - editGradientImpl( grad ); + editGradientImpl( desktop, grad ); break; } } @@ -130,31 +167,48 @@ static void editGradient( GtkMenuItem */*menuitem*/, gpointer /*user_data*/ ) } } -static void addNewGradient( GtkMenuItem */*menuitem*/, gpointer /*user_data*/ ) +void SwatchesPanelHook::convertGradient( GtkMenuItem * /*menuitem*/, gpointer userData ) { if ( bounceTarget ) { SwatchesPanel* swp = bouncePanel; SPDesktop* desktop = swp ? swp->getDesktop() : 0; SPDocument *doc = desktop ? desktop->doc() : 0; - if (doc) { - Inkscape::XML::Document *xml_doc = sp_document_repr_doc(doc); - - Inkscape::XML::Node *repr = xml_doc->createElement("svg:linearGradient"); - repr->setAttribute("osb:paint", "solid"); - Inkscape::XML::Node *stop = xml_doc->createElement("svg:stop"); - stop->setAttribute("offset", "0"); - stop->setAttribute("style", "stop-color:#000;stop-opacity:1;"); - repr->appendChild(stop); - Inkscape::GC::release(stop); - - SP_OBJECT_REPR( SP_DOCUMENT_DEFS(doc) )->addChild(repr, NULL); - - SPGradient * gr = static_cast<SPGradient *>(doc->getObjectByRepr(repr)); - - Inkscape::GC::release(repr); + gint index = GPOINTER_TO_INT(userData); + if ( doc && (index >= 0) && (static_cast<guint>(index) < popupItems.size()) ) { + Glib::ustring targetName = popupItems[index]; + const GSList *gradients = sp_document_get_resource_list(doc, "gradient"); + for (const GSList *item = gradients; item; item = item->next) { + SPGradient* grad = SP_GRADIENT(item->data); + if ( targetName == grad->getId() ) { + grad->setSwatch(); + sp_document_done(doc, SP_VERB_CONTEXT_GRADIENT, + _("Add gradient stop")); + break; + } + } + } + } +} - editGradientImpl( gr ); +void SwatchesPanelHook::deleteGradient( GtkMenuItem */*menuitem*/, gpointer /*userData*/ ) +{ + if ( bounceTarget ) { + SwatchesPanel* swp = bouncePanel; + SPDesktop* desktop = swp ? swp->getDesktop() : 0; + SPDocument *doc = desktop ? desktop->doc() : 0; + if (doc) { + std::string targetName(bounceTarget->def.descr); + const GSList *gradients = sp_document_get_resource_list(doc, "gradient"); + for (const GSList *item = gradients; item; item = item->next) { + SPGradient* grad = SP_GRADIENT(item->data); + if ( targetName == grad->getId() ) { + grad->setSwatch(false); + sp_document_done(doc, SP_VERB_CONTEXT_GRADIENT, + _("Delete")); + break; + } + } } } } @@ -177,7 +231,12 @@ static SwatchesPanel* findContainingPanel( GtkWidget *widget ) return swp; } -gboolean colorItemHandleButtonPress( GtkWidget* widget, GdkEventButton* event, gpointer user_data) +static void removeit( GtkWidget *widget, gpointer data ) +{ + gtk_container_remove( GTK_CONTAINER(data), widget ); +} + +gboolean colorItemHandleButtonPress( GtkWidget* widget, GdkEventButton* event, gpointer user_data ) { gboolean handled = FALSE; @@ -209,17 +268,13 @@ gboolean colorItemHandleButtonPress( GtkWidget* widget, GdkEventButton* event, g gtk_menu_shell_append(GTK_MENU_SHELL(popupMenu), child); popupExtras.push_back(child); - child = gtk_menu_item_new_with_label(_("Add")); + child = gtk_menu_item_new_with_label(_("Delete")); g_signal_connect( G_OBJECT(child), "activate", - G_CALLBACK(addNewGradient), + G_CALLBACK(SwatchesPanelHook::deleteGradient), user_data ); gtk_menu_shell_append(GTK_MENU_SHELL(popupMenu), child); popupExtras.push_back(child); - - child = gtk_menu_item_new_with_label(_("Delete")); - gtk_menu_shell_append(GTK_MENU_SHELL(popupMenu), child); - //popupExtras.push_back(child); gtk_widget_set_sensitive( child, FALSE ); child = gtk_menu_item_new_with_label(_("Edit...")); @@ -237,7 +292,12 @@ gboolean colorItemHandleButtonPress( GtkWidget* widget, GdkEventButton* event, g child = gtk_menu_item_new_with_label(_("Convert")); gtk_menu_shell_append(GTK_MENU_SHELL(popupMenu), child); //popupExtras.push_back(child); - gtk_widget_set_sensitive( child, FALSE ); + //gtk_widget_set_sensitive( child, FALSE ); + { + popupSubHolder = child; + popupSub = gtk_menu_new(); + gtk_menu_item_set_submenu( GTK_MENU_ITEM(child), popupSub ); + } gtk_widget_show_all(popupMenu); } @@ -251,7 +311,39 @@ gboolean colorItemHandleButtonPress( GtkWidget* widget, GdkEventButton* event, g bounceTarget = item; bouncePanel = swp; + popupItems.clear(); if ( popupMenu ) { + gtk_container_foreach(GTK_CONTAINER(popupSub), removeit, popupSub); + bool processed = false; + GtkWidget *wdgt = gtk_widget_get_ancestor(widget, SP_TYPE_DESKTOP_WIDGET); + if ( wdgt ) { + SPDesktopWidget *dtw = SP_DESKTOP_WIDGET(wdgt); + if ( dtw && dtw->desktop ) { + // Pick up all gradients with vectors + const GSList *gradients = sp_document_get_resource_list(dtw->desktop->doc(), "gradient"); + gint index = 0; + for (const GSList *curr = gradients; curr; curr = curr->next) { + SPGradient* grad = SP_GRADIENT(curr->data); + if ( grad->hasStops() && !grad->isSwatch() ) { + //gl = g_slist_prepend(gl, curr->data); + processed = true; + GtkWidget *child = gtk_menu_item_new_with_label(grad->getId()); + gtk_menu_shell_append(GTK_MENU_SHELL(popupSub), child); + + popupItems.push_back(grad->getId()); + g_signal_connect( G_OBJECT(child), + "activate", + G_CALLBACK(SwatchesPanelHook::convertGradient), + GINT_TO_POINTER(index) ); + index++; + } + } + + gtk_widget_show_all(popupSub); + } + } + gtk_widget_set_sensitive( popupSubHolder, processed ); + gtk_menu_popup(GTK_MENU(popupMenu), NULL, NULL, NULL, NULL, event->button, event->time); handled = TRUE; } @@ -728,10 +820,11 @@ static void recalcSwatchContents(SPDocument* doc, } if ( !newList.empty() ) { + std::reverse(newList.begin(), newList.end()); for ( std::vector<SPGradient*>::iterator it = newList.begin(); it != newList.end(); ++it ) { SPGradient* grad = *it; - sp_gradient_ensure_vector( grad ); + grad->ensureVector(); SPGradientStop first = grad->vector.stops[0]; SPColor color = first.color; guint32 together = color.toRGBA32(first.opacity); @@ -809,21 +902,25 @@ void SwatchesPanel::handleDefsModified(SPDocument *document) std::map<ColorItem*, SPGradient*> tmpGrads; recalcSwatchContents(document, tmpColors, tmpPrevs, tmpGrads); - int cap = std::min(docPalette->_colors.size(), tmpColors.size()); - for (int i = 0; i < cap; i++) { - ColorItem* newColor = tmpColors[i]; - ColorItem* oldColor = docPalette->_colors[i]; - if ( (newColor->def.getType() != oldColor->def.getType()) || - (newColor->def.getR() != oldColor->def.getR()) || - (newColor->def.getG() != oldColor->def.getG()) || - (newColor->def.getB() != oldColor->def.getB()) ) { - oldColor->def.setRGB(newColor->def.getR(), newColor->def.getG(), newColor->def.getB()); - } - if (tmpGrads.find(newColor) != tmpGrads.end()) { - oldColor->setGradient(tmpGrads[newColor]); - } - if ( tmpPrevs.find(newColor) != tmpPrevs.end() ) { - oldColor->setPixData(tmpPrevs[newColor], PREVIEW_PIXBUF_WIDTH, VBLOCK); + if ( tmpColors.size() != docPalette->_colors.size() ) { + handleGradientsChange(document); + } else { + int cap = std::min(docPalette->_colors.size(), tmpColors.size()); + for (int i = 0; i < cap; i++) { + ColorItem* newColor = tmpColors[i]; + ColorItem* oldColor = docPalette->_colors[i]; + if ( (newColor->def.getType() != oldColor->def.getType()) || + (newColor->def.getR() != oldColor->def.getR()) || + (newColor->def.getG() != oldColor->def.getG()) || + (newColor->def.getB() != oldColor->def.getB()) ) { + oldColor->def.setRGB(newColor->def.getR(), newColor->def.getG(), newColor->def.getB()); + } + if (tmpGrads.find(newColor) != tmpGrads.end()) { + oldColor->setGradient(tmpGrads[newColor]); + } + if ( tmpPrevs.find(newColor) != tmpPrevs.end() ) { + oldColor->setPixData(tmpPrevs[newColor], PREVIEW_PIXBUF_WIDTH, VBLOCK); + } } } } @@ -860,11 +957,12 @@ void SwatchesPanel::_updateFromSelection() if ( SP_IS_GRADIENT(server) ) { SPGradient* target = 0; SPGradient* grad = SP_GRADIENT(server); - if (grad->repr->attribute("osb:paint")) { + + if ( grad->isSwatch() ) { target = grad; } else if ( grad->ref ) { SPGradient *tmp = grad->ref->getObject(); - if ( tmp && tmp->repr->attribute("osb:paint") ) { + if ( tmp && tmp->isSwatch() ) { target = tmp; } } @@ -891,11 +989,11 @@ void SwatchesPanel::_updateFromSelection() if ( SP_IS_GRADIENT(server) ) { SPGradient* target = 0; SPGradient* grad = SP_GRADIENT(server); - if (grad->repr->attribute("osb:paint")) { + if ( grad->isSwatch() ) { target = grad; } else if ( grad->ref ) { SPGradient *tmp = grad->ref->getObject(); - if ( tmp && tmp->repr->attribute("osb:paint") ) { + if ( tmp && tmp->isSwatch() ) { target = tmp; } } diff --git a/src/ui/dialog/swatches.h b/src/ui/dialog/swatches.h index b18fd6cad..93bbe81d8 100644 --- a/src/ui/dialog/swatches.h +++ b/src/ui/dialog/swatches.h @@ -43,6 +43,8 @@ public: virtual int getSelectedIndex() {return _currentIndex;} // temporary protected: + static void handleGradientsChange(SPDocument *document); + virtual void _updateFromSelection(); virtual void _handleAction( int setId, int itemId ); virtual void _setDocument( SPDocument *document ); @@ -55,7 +57,6 @@ private: SwatchesPanel &operator=(SwatchesPanel const &); // no assign static void _trackDocument( SwatchesPanel *panel, SPDocument *document ); - static void handleGradientsChange(SPDocument *document); static void handleDefsModified(SPDocument *document); PreviewHolder* _holder; |
