Inkscape Status 3/15/05
by Bryce Harrington
Tuesday, Mar 15, 2005
The last two weeks have seen a number of new features added, the fruit
of some quite heated (and fruitful) discussions on the list. Bulia's
work on redesigning gradients has generated a lot of good feedback from
the community and should really prove to be a big step forward for the
application. Mental has been continuing his work on converting C code
to C++ and attending to some of the more complex bugs as they pop up.
The new gtkmm-based gui code is now accessible via 'inkscape
--new-gui'. Jon Cruz is adding a new 'panel' system to replace the
current 'dialog' focused design, that will give people more flexibility
in how the user interface looks and works. There's still a lot more
work needed, though, and we desperately need more people working on it.
We're also seeing the impact of the involvement of a number of new
contributors. Cyreve is working on improving text flow and wrapping.
Kevin Wixson has been plugging away at improving documentation.
Statistics Feb 1 Feb 15 Mar 1 Mar 15
========== ===== ====== ===== ======
Lifetime Rank on SourceForge: 569 * * *
(96.0%) * * *
Max Week's Rank on SourceForge: * * * *
* * * *
Total SF Page Views 2,296,458 * * *
Total SF Downloads 115,645 * * *
Total Freshmeat URL Hits 15,108 16,448 16,885 17,186
Total Freshmeat Subscriptions 156 169 173 173
Lines of Code in src/: 323,324 333,139 338,993 342,852
Code lines 227,872 234,651 238,641 241,177
Comment line 56,438 58,239 59,589 60,354
Blank 45,624 46,859 47,484 47,978
Lines of Docs in doc/: 17,918 26,848 26,848 26,848
Lines of content in website: 9,486 9,776 9,979 10,067
Size of the Inkscape wiki: 23,576 24,925 25,094 25,900
Bugs open/total: 148/917 155/972 177/1019 182/1047
Features open/total: 352/556 370/579 384/ 602 397/ 619
Patches open/total: 7/154 5/167 6/ 170 7/ 173
CVS Commits (as per inkscape-cvs) 9,975 10,312 10,600 10,868
Inkscape-devel membership: 143 151 152 158
Inkscape-announce membership: 166 169 171 177
Inkscape-user membership: 181 193 201 220
Num Translations: 33 33 33 33
Ave Translation Ratio: 44.7 47.8 45.0 45.0
* - Statistics unavailable
18 years, 2 months
Compiler warnings
by Bob Jamison
I spent a few hours yesterday compiling the tree
with gcc4.0.0, and removing the warnings, so it
should compile fairly cleanly now.
Since warnings are a useful tool to indicate possible
bugs (and I found one yesterday), can people please
make sure that their committed code compiles without
them? I know that "unused variable" and things like
that can be a pain to avoid, especially in a "work in
progress."
But if we allow ourselves to become desensitized to warnings,
we will likely ignore problem conditions and possible bugs.
Bob
18 years, 2 months
Re: [Inkscape-devel] translated win32 installer
by Adib Taraben
Ciao Luca,
Do you want a screenshot? all the other translation is all done with
the include of the language file. I already checked this with the latest
CVS at the office (Torino).
Only the GPL is not translated. The german GPL translation project
refers to the original english version as the only official and legally
binding.
I would see in the installer an option to select, if the installation is
visible to the login that did the installation or to all users of the
computer.
HTH,
Adib.
Luca Bruno schrieb:
> Bob Jamison <rjamison@...357...> scrisse:
>
>
>>>>I did some work on the .nsi for the win32 installer. I included a
>>>>german
>>>>translation. It should be very simple to add more languages.
>
>
>> > Luc, that is wonderful. Thanks for adding this section. You
>> > probably
>> > only need to change the type to ${LANG_ITALIAN}, but that is
>> > the only thing I see..
>
>
>
>>I fixed that, and it is committed. Thanks again.
>
>
> Thank you for the commit and the check (sorry, my mistake, I forgot to
> change the label)...
>
> Now I use only Linux, but if I remember correctly, there also other
> steps in a normal Win installer (such as program dir chooser, license,
> etc...) that I think could be translated.
> I'm not aware of technical details, so I'm asking: Is it possible? How?
> If somebody show me an hack about it, I'd like to help with a full
> Italian translation...
>
> Please, let me know :)
>
> Ciao, Luc@
>
> P.S. I use to sign all my mail with "Ciao, Luc@", but my correct (in
> Italian) name is "Luca"... :)
>
18 years, 2 months
Inkscape for AI users: a revert war :)
by bulia byak
Recently the wiki user Kwixson has significantly expanded and
rewritten the "Inkscape for AI users" document on our wiki. Some of
his edits seemed strange to me, and I proposed my variants.
Unfortunately we could not reach a consensus, so after several mutual
reverts we decided to post here and ask for the help and judgement
from the community.
The latest revision with our extensive comments is here:
http://inkscape.org/cgi-bin/wiki.pl?IllustratorUsers
Below I briefly list the things I disagree with.
0. To begin, I really appreciate the input on this document from the
user who obviously knows AI well. This is some kind of expertise which
I personally lack, so I would not be able to write such a document all
by myself. Obviously it must be written from an AI user's point of
view and use AI terminology and concepts.
1. However, Kwixson's approach seems to go further than that. He
apparently wants this document to describe _only_ those things which
you can do in Illustrator, and describe them exactly _the same way_ as
one would do them in Illustrator, even if Inkscape offers more
convenient methods. I think this is wrong.
2. With Kwixson's approach, Inkscape would always seem inferior to AI,
because you can't win just by copying. You can't be a better
Illustrator than Illustrator, you need to be different to be better.
And indeed Kwixson's text has a generally condescending tone and
phrases like "is much less responsive", "is not as intuitive" etc. We
need to be honest about Inkscape's weaknesses, but these judgements
were often not based on any real weaknesses.
3. After all, who is this document for? Those who like AI the way it
is will never switch, so it seems stupid to target them in such a
document. I think we need to target those who are used to AI but are
looking for something different and better. And therefore we must
stress our strengths and differences, explaining them in a way which
is easy to understand for AI users.
Now on to specific examples.
A. Kwixson has removed my mention of keyboard accessibility, in
particular keys for screen-pixel-sized transformations, claiming this
is not important. I've seen this attitude before from other AI users;
they tend to dismiss this because they don't have it. Those who are
really using Inkscape (or Xara, where I got the idea from, though by
now Inkscape's keyboard is superior even to Xara) will disagree.
B. In the section on shapes, Kwixson has removed my explanation of the
difference between a shape and a path and the unique features that
shapes offer. Instead he inserted an advice to do Ctrl+Shift+C
(convert to path) as soon as you created a shape, to be able to
node-edit it! This is because AI does not have shapes as such,
treating everything as paths. I think this is plain stupid. Inkscape's
shapes are clearly superior to those of any other program I know, and
we must present them as such.
C. In the section on Node tool, Kwixson provided some very cumbersome
descriptions of how to convert a segment from curve to straight line
and how to continue a path. When I proposed much simpler and more
straightforward ways to do the same, he insisted that his descriptions
closely match the way AI does this and therefore must stay. Once
again, I don't see why one should go through all this when there's a
much simpler way. Disclaimer on this point: I cannot even claim to
completely understand Kwixson's descriptions, so I may have missed
something important in them. Please anyone who knows AI's path
editing, review these paragraphs and let us know what you think.
Any feedback will be appreciated. I'm crossposting this to the user list too.
18 years, 2 months
CVS compiling for the uninitiated
by unknown@example.com
I compiled CVS successfully a while back and was very excited. So today
I tried:
cvs -z3 update -Pd
make
and got:
Making all in ui
make[3]: Entering directory `/usr/local/src/inkscape/share/ui'
make[3]: *** No rule to make target `all'. Stop.
make[3]: Leaving directory `/usr/local/src/inkscape/share/ui'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/inkscape/share'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/inkscape'
make: *** [all] Error 2
If I were to take a stab in the dark I would guess my makefile is too
old and it doesn't include rules for the new ui stuff. I could be very
wrong, but this makes me wonder when and how often should I use commands
like "make clean", autogen.sh and configure when working with Inkscape
CVS. I don't think I saw these sorts of instructions in the wiki. (I do
think I read a short blurb about using autogen.sh when new folders enter
the tree.) Sorry for such rudimentary questions.
Education appreciated,
Aaron Spike
18 years, 2 months
Experimenting with the gcc4.0.0 compiler
by Bob Jamison
I downloaded/installed a prerelease snapshot of gcc4.0.0 today, and
did a clean build with it. I expected it to produce better warnings
than 3.4, since 3.4 was more strict than 3.3. And it does! Here is
an example:
./xml/node.h:42: warning: ‘class Inkscape::XML::Node’ has virtual
functions but non-virtual destructor
./xml/document.h:23: warning: ‘struct Inkscape::XML::Document’ has
virtual functions but non-virtual destructor
./xml/sp-css-attr.h:20: warning: ‘class SPCSSAttr’ has virtual functions
but non-virtual destructor
The planned release of 4.0.0 is Apr 15, so it would be wise to keep up
with developments.
Bob
18 years, 2 months
Re: bug report, sorry: 100% CPU with text, Ctrl-C, Ctrl-V
by Ralf Stephan
switching to the more appropriate list
> Self-built on PPC. Start up clean. Click text, click canvas, type a
> few keys, then type Ctrl-C, Ctrl-V: voila 100% CPU.
> 0.41 on an oldish G3 iMac with a heavily upgraded Suse-PPC 6.x, gcc-3.4.1,
> kernel 2.2.18pre24, configure was --disable-static --without-inkjar
>
> Note: do NOT click selection.
Can someone reproduce it on x86?
Here is the gdb backtrace, the longest I've ever seen.
Program received signal SIGINT, Interrupt.
0x0ed55b60 in __mempcpy (dstpp=0x1172b6e8, srcpp=0x11742c28, len=0)
at ../sysdeps/generic/mempcpy.c:66
66 ../sysdeps/generic/mempcpy.c: No such file or directory.
in ../sysdeps/generic/mempcpy.c
#0 0x0ed55b60 in __mempcpy (dstpp=0x1172b6e8, srcpp=0x11742c28, len=0)
at ../sysdeps/generic/mempcpy.c:66
#1 0x0ed1cb80 in msort_with_tmp (b=0x11742b48, n=36, s=32,
cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "")
at msort.c:74
#2 0x0ed1cab8 in msort_with_tmp (b=0x11742b48, n=73, s=32,
cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "")
at msort.c:49
#3 0x0ed1cad0 in msort_with_tmp (b=0x11742228, n=146, s=32,
cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "")
at msort.c:50
#4 0x0ed1cad0 in msort_with_tmp (b=0x11741008, n=291, s=32,
cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "")
at msort.c:50
#5 0x0ed1cab8 in msort_with_tmp (b=0x11741008, n=582, s=32,
cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "")
at msort.c:49
#6 0x0ed1ccec in qsort (b=0x11741008, n=582, s=32,
cmp=0x102240f4 <CmpCtrl(void const*, void const*)>) at msort.c:118
#7 0x102241f4 in text_holder::SortCtrl (this=0x113ace88)
at libnrtype/FlowBoxes.cpp:341
#8 0x102254d0 in text_holder::ComputeBoxes (this=0x113ace88)
at libnrtype/FlowBoxes.cpp:655
#9 0x102185f0 in flow_src::Prepare (this=0x113b5c98)
at libnrtype/FlowSrc.cpp:119
#10 0x100dd2e0 in SPText::UpdateFlowSource (this=0x11361438)
at sp-text.cpp:1433
#11 0x100ddf68 in sp_text_update (object=0x11361438, ctx=0x7fffd6c0, flags=11)
at sp-text.cpp:501
#12 0x100c3b70 in SPObject::updateDisplay (this=0x11361438, ctx=0x7fffd6c0,
flags=11) at sp-object.cpp:1019
#13 0x100b44f8 in sp_group_update (object=0x11361490, ctx=0x7fffd810, flags=0)
at sp-item-group.cpp:240
#14 0x100c3b70 in SPObject::updateDisplay (this=0x10445438, ctx=0x7fffd810,
flags=2) at sp-object.cpp:1019
#15 0x100b44f8 in sp_group_update (object=0x10445490, ctx=0x7fffd940, flags=0)
at sp-item-group.cpp:240
#16 0x100d1a80 in sp_root_update (object=0x103f6cd0, ctx=0x7fffd948, flags=2)
at sp-root.cpp:559
#17 0x100c3b70 in SPObject::updateDisplay (this=0x103f6cd0, ctx=0x7fffdb60,
flags=2) at sp-object.cpp:1019
#18 0x100846ec in sp_document_ensure_up_to_date (doc=0x103bbc08)
at document.cpp:638
#19 0x1010ed88 in sp_document_maybe_done (doc=0x103bbc08, key=0x0)
at document-undo.cpp:98
#20 0x100f1f90 in sptc_commit (imc=0x1172b6e8, string=0x113b1de8 "e",
tc=0x1135c750) at text-context.cpp:853
#21 0x0f156db8 in g_cclosure_marshal_VOID__STRING (closure=0x11350700,
return_value=0x11742c28, n_param_values=0, param_values=0x7fffddc0,
invocation_hint=0x1172b608, marshal_data=0x0) at gmarshal.c:496
#22 0x0f13cff0 in g_closure_invoke (closure=0x113555a0,
return_value=0x10350000, n_param_values=0, param_values=0x7fffddc0,
invocation_hint=0x7fffdcf8) at gclosure.c:437
#23 0x0f154400 in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0,
emission_return=0x113ace88, instance_and_params=0x7fffddc0)
at gsignal.c:2485
#24 0x0f155994 in g_signal_emit_valist (instance=0x0, signal_id=2147474880,
detail=2147474680, var_args=0x11350700) at gsignal.c:2244
#25 0x0f155be4 in g_signal_emit_by_name (instance=0x11350700,
detailed_signal=0x7fffddc0 "\020;\2138") at gsignal.c:2312
#26 0x0f80fec8 in gtk_im_multicontext_commit_cb (slave=0x1172b6e8,
str=0xed1cb80 "|\177\033x\177{Ã\024;½ÿÿH", multicontext=0x0)
at gtkimmulticontext.c:454
#27 0x0f156db8 in g_cclosure_marshal_VOID__STRING (closure=0x11350700,
return_value=0x11742c28, n_param_values=0, param_values=0x7fffddc0,
invocation_hint=0x1172b608, marshal_data=0x0) at gmarshal.c:496
#28 0x0f13cff0 in g_closure_invoke (closure=0x113555a0,
return_value=0x10350000, n_param_values=0, param_values=0x7fffddc0,
invocation_hint=0x7fffdcf8) at gclosure.c:437
#29 0x0f154400 in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0,
emission_return=0x113ace88, instance_and_params=0x7fffddc0)
at gsignal.c:2485
#30 0x0f155994 in g_signal_emit_valist (instance=0x0, signal_id=2147474880,
detail=2147474680, var_args=0x11350700) at gsignal.c:2244
#31 0x0f155be4 in g_signal_emit_by_name (instance=0x11350700,
detailed_signal=0x7fffddc0 "\020;\2138") at gsignal.c:2312
#32 0x0f80dcec in gtk_im_context_simple_commit_char (context=0x7fffddc0,
ch=288687872) at gtkimcontextsimple.c:1038
#33 0x0f80e3ec in gtk_im_context_simple_filter_keypress (context=0x0,
event=0x0) at gtkimcontextsimple.c:1234
#34 0x0f80d108 in gtk_im_context_filter_keypress (context=0x7fffddc0,
key=0x11350700) at gtkimcontext.c:317
#35 0x0f80faa8 in gtk_im_multicontext_filter_keypress (context=0x1172b6e8,
event=0x11350700) at gtkimmulticontext.c:316
#36 0x0f80d108 in gtk_im_context_filter_keypress (context=0x113555a0,
key=0x11337f58) at gtkimcontext.c:317
#37 0x100f123c in sp_text_context_root_handler (ec=0x113555a0,
event=0x113555a0) at text-context.cpp:404
#38 0x10113dd4 in sp_event_context_root_handler (event_context=0x1135c750,
event=0x11337f58) at event-context.cpp:687
#39 0x10102f10 in sp_desktop_root_handler (item=0x1172b6e8, event=0x11742c28,
desktop=0x0) at desktop-events.cpp:56
#40 0x1020abc4 in sp_marshal_BOOLEAN__POINTER (closure=0xf5ecae0,
return_value=0x7fffe9f0, n_param_values=0, param_values=0x10383fc0,
invocation_hint=0x1172b608, marshal_data=0x0) at helper/sp-marshal.cpp:350
#41 0x0f13cff0 in g_closure_invoke (closure=0x108a2db8,
return_value=0x7fffe9f0, n_param_values=0, param_values=0x7fffddc0,
invocation_hint=0x7fffdcf8) at gclosure.c:437
#42 0x0f154400 in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0,
emission_return=0x113ace88, instance_and_params=0x7fffddc0)
at gsignal.c:2485
#43 0x0f15568c in g_signal_emit_valist (instance=0x1020ab14,
signal_id=2147477336, detail=2147474680, var_args=0xffffffff)
at gsignal.c:2254
#44 0x0f885adc in gtk_signal_emit (object=0x7fffe758, signal_id=4294967295)
at gtksignal.c:360
#45 0x102046b8 in emit_event (canvas=0x7fffe758, event=0xf1889fc)
at display/sp-canvas.cpp:1166
#46 0x0f830784 in _gtk_marshal_BOOLEAN__BOXED (closure=0xffffffff,
return_value=0x7fffe9f0, n_param_values=0, param_values=0x7fffed00,
invocation_hint=0x1172b608, marshal_data=0x108a2db8) at gtkmarshalers.c:83
#47 0x0f13d3b4 in g_type_class_meta_marshal (closure=0x7fffed00,
return_value=0xffffffff, n_param_values=270576404, param_values=0x0,
invocation_hint=0x7fffe9f0, marshal_data=0x108a2db8) at gclosure.c:514
#48 0x0f13cff0 in g_closure_invoke (closure=0x103b3ba8,
return_value=0x7fffec50, n_param_values=2, param_values=0x7fffddc0,
invocation_hint=0x7fffdcf8) at gclosure.c:437
#49 0x0f1546bc in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0,
emission_return=0x113ace88, instance_and_params=0x7fffddc0)
at gsignal.c:2523
#50 0x0f15568c in g_signal_emit_valist (instance=0xf13d338,
signal_id=2147478584, detail=2147474680, var_args=0x0) at gsignal.c:2254
#51 0x0f155d6c in g_signal_emit (instance=0x1172b6e8, signal_id=292826152,
detail=0) at gsignal.c:2288
#52 0x0f93e4a8 in gtk_widget_event_internal (widget=0x103b3ba8, event=0x0)
at gtkwidget.c:3616
#53 0x0f94fad0 in gtk_window_propagate_key_event (window=0x103b3ba8,
event=0xf13d338) at gtkwindow.c:4424
#54 0x0f954f6c in gtk_window_key_press_event (widget=0x0, event=0x7fffec38)
at gtkwindow.c:4454
#55 0x0f830784 in _gtk_marshal_BOOLEAN__BOXED (closure=0x0,
return_value=0x7fffec50, n_param_values=0, param_values=0x7fffec38,
invocation_hint=0x1172b608, marshal_data=0x103b3ba8) at gtkmarshalers.c:83
#56 0x0f13d3b4 in g_type_class_meta_marshal (closure=0x7fffec38,
return_value=0x0, n_param_values=252957496, param_values=0x2,
invocation_hint=0x7fffec50, marshal_data=0x103b3ba8) at gclosure.c:514
#57 0x0f13cff0 in g_closure_invoke (closure=0x103b3ba8,
return_value=0x7ffff120, n_param_values=2, param_values=0x7fffddc0,
invocation_hint=0x7fffdcf8) at gclosure.c:437
#58 0x0f1546bc in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0,
emission_return=0x113ace88, instance_and_params=0x7fffddc0)
at gsignal.c:2523
#59 0x0f15568c in g_signal_emit_valist (instance=0xf13d338,
signal_id=2147479816, detail=2147474680, var_args=0xffffffff)
at gsignal.c:2254
#60 0x0f155d6c in g_signal_emit (instance=0x1172b6e8, signal_id=292826152,
detail=0) at gsignal.c:2288
#61 0x0f93e4a8 in gtk_widget_event_internal (widget=0x103b3ba8,
event=0xffffffff) at gtkwidget.c:3616
#62 0x0f82e554 in gtk_propagate_event (widget=0x7ffff108, event=0xf13d338)
at gtkmain.c:2119
#63 0x0f82e884 in gtk_main_do_event (event=0x103b3ba8) at gtkmain.c:1383
#64 0x0f5a2350 in gdk_event_dispatch (source=0x1172b6e8, callback=0x11742c28,
user_data=0x0) at gdkevents-x11.c:2218
#65 0x0f061bf0 in g_main_context_dispatch (context=0x103b3ba8) at gmain.c:1947
#66 0x0f063d10 in g_main_context_iterate (context=0xffffffff,
block=2147474680, dispatch=0, self=0x102240f4) at gmain.c:2578
#67 0x0f064130 in g_main_loop_run (loop=0x7ffff108) at gmain.c:2782
#68 0x0f82d7c0 in gtk_main () at gtkmain.c:963
#69 0x0fcacc18 in Gtk::Main::run_impl (this=0x1172b6e8) at main.cc:470
#70 0x0fcac9fc in Gtk::Main::run () at main.cc:417
#71 0x10082d24 in sp_main_gui (argc=2147471328, argv=0xed1cb80) at main.cpp:378
#72 0x1008300c in main (argc=1, argv=0x7ffff7a4) at main.cpp:305
The program is running. Exit anyway? (y or n)
ralf
18 years, 2 months
translated win32 installer
by Adib Taraben
Hi,
I did some work on the .nsi for the win32 installer. I included a german
translation. It should be very simple to add more languages. All the
strings (5 per language) are in the .nsi file.
Attached the new .nsi file and a diff against the current cvs.
HTH,
Adib.
cvs diff -u inkscape.nsi (in directory D:\projekte\inkscape\)
Index: inkscape.nsi
===================================================================
RCS file: /cvsroot/inkscape/inkscape/inkscape.nsi,v
retrieving revision 1.10
diff -u -r1.10 inkscape.nsi
--- inkscape.nsi 12 Feb 2005 17:44:35 -0000 1.10
+++ inkscape.nsi 12 Mar 2005 23:32:39 -0000
@@ -41,14 +41,28 @@
; Language files
!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "German"
; MUI end ------
+; English strings
+LangString lng_Caption ${LANG_ENGLISH} "${PRODUCT_NAME} -- Open Source Scalable Vector Graphics Editor"
+LangString lng_Editor ${LANG_ENGLISH} "Do you want $(^Name) to be the default SVG editor?"
+LangString lng_Reader ${LANG_ENGLISH} "Do you want $(^Name) to be the default SVG reader?"
+LangString lng_Removed ${LANG_ENGLISH} "$(^Name) was successfully removed from your computer."
+LangString lng_Uninstall ${LANG_ENGLISH} "Are you sure you want to completely remove $(^Name) and all of its components?"
+
+; German strings
+LangString lng_Caption ${LANG_GERMAN} "${PRODUCT_NAME} -- Open Source SVG-Vektorillustrator"
+LangString lng_Editor ${LANG_GERMAN} "Wollen Sie $(^Name) zu Ihrem standardm��igem Bearbeitungsprogramm f�r SVG machen?"
+LangString lng_Reader ${LANG_GERMAN} "Wollen Sie $(^Name) zu Ihrem standardm��igem Anzeigeprogramm f�r SVG machen?"
+LangString lng_Removed ${LANG_GERMAN} "$(^Name) wurde erfolgreich von Ihrem Computer entfernt."
+LangString lng_Uninstall ${LANG_GERMAN} "M�chten Sie $(^Name) und alle seine Komponenten von Ihrem Rechner entfernen?"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
-Caption "${PRODUCT_NAME} -- Open Source Scalable Vector Graphics Editor"
+Caption $(lng_Caption)
OutFile "Inkscape-${PRODUCT_VERSION}-1.win32.exe"
InstallDir "$PROGRAMFILES\Inkscape"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
@@ -72,14 +86,14 @@
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
- MessageBox MB_YESNO|MB_ICONQUESTION "Do you want Inkscape to be the default SVG editor?" IDNO NoEditor
+ MessageBox MB_YESNO|MB_ICONQUESTION $(lng_Editor) IDNO NoEditor
WriteRegStr HKCR ".svg" "" "svgfile"
WriteRegStr HKCR ".svgz" "" "svgfile"
WriteRegStr HKCR "svgfile" "" "Scalable Vector Graphics file"
WriteRegStr HKCR "svgfile\shell\edit\command" "" '$INSTDIR\Inkscape.exe "%1"'
NoEditor:
- MessageBox MB_YESNO|MB_ICONQUESTION "Do you want Inkscape to be the default SVG reader?" IDNO NoReader
+ MessageBox MB_YESNO|MB_ICONQUESTION $(lng_Reader) IDNO NoReader
WriteRegStr HKCR ".svg" "" "svgfile"
WriteRegStr HKCR ".svgz" "" "svgfile"
WriteRegStr HKCR "svgfile" "" "Scalable Vector Graphics file"
@@ -87,14 +101,13 @@
NoReader:
SectionEnd
-
Function un.onUninstSuccess
HideWindow
- MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
+ MessageBox MB_ICONINFORMATION|MB_OK $(lng_Removed)
FunctionEnd
Function un.onInit
- MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 $(lng_Uninstall) IDYES +2
Abort
FunctionEnd
; #######################################
; Inkscape NSIS installer project file
; Used as of 0.40
; #######################################
; #######################################
; DEFINES
; #######################################
!define PRODUCT_NAME "Inkscape"
!define PRODUCT_VERSION "0.41+cvs"
!define PRODUCT_PUBLISHER "Inkscape Organization"
!define PRODUCT_WEB_SITE "http://www.inkscape.org"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\inkscape.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
; #######################################
; MUI SETTINGS
; #######################################
; MUI 1.67 compatible ------
!include "MUI.nsh"
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!define MUI_LICENSEPAGE_RADIOBUTTONS
!insertmacro MUI_PAGE_LICENSE "Copying"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN "$INSTDIR\inkscape.exe"
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"
; MUI end ------
; English strings
LangString lng_Caption ${LANG_ENGLISH} "${PRODUCT_NAME} -- Open Source Scalable Vector Graphics Editor"
LangString lng_Editor ${LANG_ENGLISH} "Do you want $(^Name) to be the default SVG editor?"
LangString lng_Reader ${LANG_ENGLISH} "Do you want $(^Name) to be the default SVG reader?"
LangString lng_Removed ${LANG_ENGLISH} "$(^Name) was successfully removed from your computer."
LangString lng_Uninstall ${LANG_ENGLISH} "Are you sure you want to completely remove $(^Name) and all of its components?"
; German strings
LangString lng_Caption ${LANG_GERMAN} "${PRODUCT_NAME} -- Open Source SVG-Vektorillustrator"
LangString lng_Editor ${LANG_GERMAN} "Wollen Sie $(^Name) zu Ihrem standardm��igem Bearbeitungsprogramm f�r SVG machen?"
LangString lng_Reader ${LANG_GERMAN} "Wollen Sie $(^Name) zu Ihrem standardm��igem Anzeigeprogramm f�r SVG machen?"
LangString lng_Removed ${LANG_GERMAN} "$(^Name) wurde erfolgreich von Ihrem Computer entfernt."
LangString lng_Uninstall ${LANG_GERMAN} "M�chten Sie $(^Name) und alle seine Komponenten von Ihrem Rechner entfernen?"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
Caption $(lng_Caption)
OutFile "Inkscape-${PRODUCT_VERSION}-1.win32.exe"
InstallDir "$PROGRAMFILES\Inkscape"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File /a /r "inkscape\*.*"
CreateDirectory "$SMPROGRAMS\Inkscape"
CreateShortCut "$SMPROGRAMS\Inkscape\Inkscape.lnk" "$INSTDIR\inkscape.exe"
CreateShortCut "$DESKTOP\Inkscape.lnk" "$INSTDIR\inkscape.exe"
SectionEnd
Section -AdditionalIcons
CreateShortCut "$SMPROGRAMS\Inkscape\Uninstall Inkscape.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
MessageBox MB_YESNO|MB_ICONQUESTION $(lng_Editor) IDNO NoEditor
WriteRegStr HKCR ".svg" "" "svgfile"
WriteRegStr HKCR ".svgz" "" "svgfile"
WriteRegStr HKCR "svgfile" "" "Scalable Vector Graphics file"
WriteRegStr HKCR "svgfile\shell\edit\command" "" '$INSTDIR\Inkscape.exe "%1"'
NoEditor:
MessageBox MB_YESNO|MB_ICONQUESTION $(lng_Reader) IDNO NoReader
WriteRegStr HKCR ".svg" "" "svgfile"
WriteRegStr HKCR ".svgz" "" "svgfile"
WriteRegStr HKCR "svgfile" "" "Scalable Vector Graphics file"
WriteRegStr HKCR "svgfile\shell\open\command" "" '$INSTDIR\Inkscape.exe "%1"'
NoReader:
SectionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK $(lng_Removed)
FunctionEnd
Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 $(lng_Uninstall) IDYES +2
Abort
FunctionEnd
Section Uninstall
Delete "$DESKTOP\Inkscape.lnk"
Delete "$SMPROGRAMS\Inkscape\Uninstall Inkscape.lnk"
Delete "$SMPROGRAMS\Inkscape\Inkscape.lnk"
RMDir "$SMPROGRAMS\Inkscape"
RMDir /r "$INSTDIR"
SetAutoClose true
SectionEnd
18 years, 2 months
Re: New GUI projects
by Diego González
>* Commandline options
>
> Implement code that takes argc,argv, parses it via popt, and stores it
> in a member of Inkscape::Application::Application in
> src/application/application.cpp. If you"ve not used popt before,
> here"s a handy PDF on it: http://www.rpm.org/local/popt.pdf
>
> The current option handling code is in main.cpp, but is kind of
> hackish so feel free to redesign it a bit.
Glib 2.6 has a new API to address this need, if you're going to use
glibmm the new API (GOption) is wrapped.
18 years, 2 months
Freehand drawing tool
by Bryce Harrington
There'd been some comments about the quality of the Inkscape drawing
tool compared with Sodipodi. I experimented around a bit with both. I
see what they mean, but it's difficult to quantify the issue.
Inkscape's drawing tool "feels" snappier, it doesn't lag like Sodipodi,
and it produces lines smoothly, but it just doesn't "feel" right.
I can't draw worth beansy, but I could see the difference when I tried
writing my name:
http://bryceharrington.com/freehand_drawing.png
Try signing your name with the two apps and see if you notice a
difference.
Bryce
18 years, 2 months