diff options
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | gnunet-gtk.glade | 1139 | ||||
-rw-r--r-- | src/Makefile.am | 1 | ||||
-rw-r--r-- | src/about.c | 103 | ||||
-rw-r--r-- | src/fs.c | 2 | ||||
-rw-r--r-- | src/gtk26about.c | 1846 | ||||
-rw-r--r-- | src/gtk26about.h | 117 | ||||
-rw-r--r-- | todo | 8 |
8 files changed, 862 insertions, 2358 deletions
diff --git a/configure.ac b/configure.ac index 294d0e1a..aafd3abd 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -44,9 +44,9 @@ AC_CANONICAL_HOST | |||
44 | AC_SYS_LARGEFILE | 44 | AC_SYS_LARGEFILE |
45 | AC_FUNC_FSEEKO | 45 | AC_FUNC_FSEEKO |
46 | 46 | ||
47 | # check for gtk >= 2.4.0 | 47 | # check for gtk >= 2.6.0 |
48 | AC_MSG_CHECKING(for gtk) | 48 | AC_MSG_CHECKING(for gtk) |
49 | AM_PATH_GTK_2_0(2.4.0,without_gtk=false,without_gtk=true) | 49 | AM_PATH_GTK_2_0(2.6.0,without_gtk=false,without_gtk=true) |
50 | AM_CONDITIONAL(HAVE_GTK, test x$without_gtk != xtrue) | 50 | AM_CONDITIONAL(HAVE_GTK, test x$without_gtk != xtrue) |
51 | if test $without_gtk != true | 51 | if test $without_gtk != true |
52 | then | 52 | then |
diff --git a/gnunet-gtk.glade b/gnunet-gtk.glade index ec7193bc..1d38e805 100644 --- a/gnunet-gtk.glade +++ b/gnunet-gtk.glade | |||
@@ -17,6 +17,7 @@ | |||
17 | <property name="skip_pager_hint">False</property> | 17 | <property name="skip_pager_hint">False</property> |
18 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> | 18 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> |
19 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> | 19 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> |
20 | <property name="focus_on_map">True</property> | ||
20 | <signal name="delete_event" handler="gtk_main_quit" after="yes"/> | 21 | <signal name="delete_event" handler="gtk_main_quit" after="yes"/> |
21 | 22 | ||
22 | <child> | 23 | <child> |
@@ -26,48 +27,6 @@ | |||
26 | <property name="spacing">0</property> | 27 | <property name="spacing">0</property> |
27 | 28 | ||
28 | <child> | 29 | <child> |
29 | <widget class="GtkMenuBar" id="main_app_menubar"> | ||
30 | <property name="visible">True</property> | ||
31 | |||
32 | <child> | ||
33 | <widget class="GtkImageMenuItem" id="quit1"> | ||
34 | <property name="visible">True</property> | ||
35 | <property name="label">gtk-quit</property> | ||
36 | <property name="use_stock">True</property> | ||
37 | <signal name="activate" handler="gtk_main_quit"/> | ||
38 | </widget> | ||
39 | </child> | ||
40 | |||
41 | <child> | ||
42 | <widget class="GtkImageMenuItem" id="help1"> | ||
43 | <property name="visible">True</property> | ||
44 | <property name="label">gtk-help</property> | ||
45 | <property name="use_stock">True</property> | ||
46 | |||
47 | <child> | ||
48 | <widget class="GtkMenu" id="help1_menu"> | ||
49 | |||
50 | <child> | ||
51 | <widget class="GtkImageMenuItem" id="about"> | ||
52 | <property name="visible">True</property> | ||
53 | <property name="label">gtk-about</property> | ||
54 | <property name="use_stock">True</property> | ||
55 | <signal name="activate" handler="on_about_clicked"/> | ||
56 | </widget> | ||
57 | </child> | ||
58 | </widget> | ||
59 | </child> | ||
60 | </widget> | ||
61 | </child> | ||
62 | </widget> | ||
63 | <packing> | ||
64 | <property name="padding">0</property> | ||
65 | <property name="expand">False</property> | ||
66 | <property name="fill">False</property> | ||
67 | </packing> | ||
68 | </child> | ||
69 | |||
70 | <child> | ||
71 | <widget class="GtkNotebook" id="mainnotebook"> | 30 | <widget class="GtkNotebook" id="mainnotebook"> |
72 | <property name="visible">True</property> | 31 | <property name="visible">True</property> |
73 | <property name="can_focus">True</property> | 32 | <property name="can_focus">True</property> |
@@ -92,9 +51,72 @@ | |||
92 | <property name="shadow_type">GTK_SHADOW_IN</property> | 51 | <property name="shadow_type">GTK_SHADOW_IN</property> |
93 | 52 | ||
94 | <child> | 53 | <child> |
95 | <widget class="GtkLabel" id="label75"> | 54 | <widget class="GtkVBox" id="vbox14"> |
96 | <property name="visible">True</property> | 55 | <property name="visible">True</property> |
97 | <property name="label" translatable="yes"><span size="x-large">Welcome to gnunet-gtk 0.7.0</span> | 56 | <property name="homogeneous">False</property> |
57 | <property name="spacing">0</property> | ||
58 | |||
59 | <child> | ||
60 | <widget class="GtkHBox" id="hbox24"> | ||
61 | <property name="visible">True</property> | ||
62 | <property name="homogeneous">False</property> | ||
63 | <property name="spacing">0</property> | ||
64 | |||
65 | <child> | ||
66 | <widget class="GtkButton" id="aboutButton"> | ||
67 | <property name="visible">True</property> | ||
68 | <property name="tooltip" translatable="yes">Show credits</property> | ||
69 | <property name="can_focus">True</property> | ||
70 | <property name="has_focus">True</property> | ||
71 | <property name="label">gtk-about</property> | ||
72 | <property name="use_stock">True</property> | ||
73 | <property name="relief">GTK_RELIEF_NORMAL</property> | ||
74 | <property name="focus_on_click">True</property> | ||
75 | <signal name="clicked" handler="on_about_clicked" last_modification_time="Sat, 28 May 2005 14:28:13 GMT"/> | ||
76 | </widget> | ||
77 | <packing> | ||
78 | <property name="padding">0</property> | ||
79 | <property name="expand">False</property> | ||
80 | <property name="fill">False</property> | ||
81 | </packing> | ||
82 | </child> | ||
83 | |||
84 | <child> | ||
85 | <widget class="GtkLabel" id="titleLabel"> | ||
86 | <property name="visible">True</property> | ||
87 | <property name="label" translatable="yes"><span size="x-large">Welcome to gnunet-gtk 0.7.0</span></property> | ||
88 | <property name="use_underline">False</property> | ||
89 | <property name="use_markup">True</property> | ||
90 | <property name="justify">GTK_JUSTIFY_CENTER</property> | ||
91 | <property name="wrap">False</property> | ||
92 | <property name="selectable">False</property> | ||
93 | <property name="xalign">0.5</property> | ||
94 | <property name="yalign">0.5</property> | ||
95 | <property name="xpad">5</property> | ||
96 | <property name="ypad">0</property> | ||
97 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
98 | <property name="width_chars">-1</property> | ||
99 | <property name="single_line_mode">True</property> | ||
100 | <property name="angle">0</property> | ||
101 | </widget> | ||
102 | <packing> | ||
103 | <property name="padding">0</property> | ||
104 | <property name="expand">True</property> | ||
105 | <property name="fill">True</property> | ||
106 | </packing> | ||
107 | </child> | ||
108 | </widget> | ||
109 | <packing> | ||
110 | <property name="padding">0</property> | ||
111 | <property name="expand">False</property> | ||
112 | <property name="fill">False</property> | ||
113 | </packing> | ||
114 | </child> | ||
115 | |||
116 | <child> | ||
117 | <widget class="GtkLabel" id="label75"> | ||
118 | <property name="visible">True</property> | ||
119 | <property name="label" translatable="yes"> | ||
98 | 120 | ||
99 | gnunet-gtk is the GTK+ user interface for GNUnet. It is intended to eventually provide a universal, pluggable interface for all GNUnet services. | 121 | gnunet-gtk is the GTK+ user interface for GNUnet. It is intended to eventually provide a universal, pluggable interface for all GNUnet services. |
100 | 122 | ||
@@ -119,15 +141,26 @@ Thank you, | |||
119 | 141 | ||
120 | 142 | ||
121 | The GNUnet Team</property> | 143 | The GNUnet Team</property> |
122 | <property name="use_underline">False</property> | 144 | <property name="use_underline">False</property> |
123 | <property name="use_markup">True</property> | 145 | <property name="use_markup">True</property> |
124 | <property name="justify">GTK_JUSTIFY_LEFT</property> | 146 | <property name="justify">GTK_JUSTIFY_LEFT</property> |
125 | <property name="wrap">True</property> | 147 | <property name="wrap">True</property> |
126 | <property name="selectable">False</property> | 148 | <property name="selectable">False</property> |
127 | <property name="xalign">0.5</property> | 149 | <property name="xalign">0.5</property> |
128 | <property name="yalign">0.5</property> | 150 | <property name="yalign">0.5</property> |
129 | <property name="xpad">0</property> | 151 | <property name="xpad">0</property> |
130 | <property name="ypad">0</property> | 152 | <property name="ypad">0</property> |
153 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
154 | <property name="width_chars">-1</property> | ||
155 | <property name="single_line_mode">False</property> | ||
156 | <property name="angle">0</property> | ||
157 | </widget> | ||
158 | <packing> | ||
159 | <property name="padding">0</property> | ||
160 | <property name="expand">False</property> | ||
161 | <property name="fill">False</property> | ||
162 | </packing> | ||
163 | </child> | ||
131 | </widget> | 164 | </widget> |
132 | </child> | 165 | </child> |
133 | </widget> | 166 | </widget> |
@@ -152,9 +185,10 @@ Thank you, | |||
152 | <property name="yalign">0.5</property> | 185 | <property name="yalign">0.5</property> |
153 | <property name="xpad">0</property> | 186 | <property name="xpad">0</property> |
154 | <property name="ypad">0</property> | 187 | <property name="ypad">0</property> |
155 | <accessibility> | 188 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> |
156 | <atkproperty name="AtkObject::accessible_name" translatable="yes">Splash Screen</atkproperty> | 189 | <property name="width_chars">-1</property> |
157 | </accessibility> | 190 | <property name="single_line_mode">False</property> |
191 | <property name="angle">0</property> | ||
158 | </widget> | 192 | </widget> |
159 | <packing> | 193 | <packing> |
160 | <property name="type">tab</property> | 194 | <property name="type">tab</property> |
@@ -262,6 +296,10 @@ Thank you, | |||
262 | <property name="yalign">0.5</property> | 296 | <property name="yalign">0.5</property> |
263 | <property name="xpad">0</property> | 297 | <property name="xpad">0</property> |
264 | <property name="ypad">0</property> | 298 | <property name="ypad">0</property> |
299 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
300 | <property name="width_chars">-1</property> | ||
301 | <property name="single_line_mode">False</property> | ||
302 | <property name="angle">0</property> | ||
265 | </widget> | 303 | </widget> |
266 | <packing> | 304 | <packing> |
267 | <property name="padding">0</property> | 305 | <property name="padding">0</property> |
@@ -338,6 +376,10 @@ Thank you, | |||
338 | <property name="yalign">0.5</property> | 376 | <property name="yalign">0.5</property> |
339 | <property name="xpad">0</property> | 377 | <property name="xpad">0</property> |
340 | <property name="ypad">0</property> | 378 | <property name="ypad">0</property> |
379 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
380 | <property name="width_chars">-1</property> | ||
381 | <property name="single_line_mode">False</property> | ||
382 | <property name="angle">0</property> | ||
341 | </widget> | 383 | </widget> |
342 | <packing> | 384 | <packing> |
343 | <property name="padding">0</property> | 385 | <property name="padding">0</property> |
@@ -366,10 +408,6 @@ Thank you, | |||
366 | <property name="yalign">0.5</property> | 408 | <property name="yalign">0.5</property> |
367 | <property name="xpad">0</property> | 409 | <property name="xpad">0</property> |
368 | <property name="ypad">0</property> | 410 | <property name="ypad">0</property> |
369 | <accessibility> | ||
370 | <atkproperty name="AtkObject::accessible_name" translatable="yes">status</atkproperty> | ||
371 | <atkproperty name="AtkObject::accessible_description" translatable="yes">gnunetd status: not running</atkproperty> | ||
372 | </accessibility> | ||
373 | </widget> | 411 | </widget> |
374 | <packing> | 412 | <packing> |
375 | <property name="padding">0</property> | 413 | <property name="padding">0</property> |
@@ -388,10 +426,6 @@ Thank you, | |||
388 | <property name="yalign">0.5</property> | 426 | <property name="yalign">0.5</property> |
389 | <property name="xpad">0</property> | 427 | <property name="xpad">0</property> |
390 | <property name="ypad">0</property> | 428 | <property name="ypad">0</property> |
391 | <accessibility> | ||
392 | <atkproperty name="AtkObject::accessible_name" translatable="yes">status</atkproperty> | ||
393 | <atkproperty name="AtkObject::accessible_description" translatable="yes">gnunetd status: running</atkproperty> | ||
394 | </accessibility> | ||
395 | </widget> | 429 | </widget> |
396 | <packing> | 430 | <packing> |
397 | <property name="padding">0</property> | 431 | <property name="padding">0</property> |
@@ -415,6 +449,10 @@ Thank you, | |||
415 | <property name="yalign">0.5</property> | 449 | <property name="yalign">0.5</property> |
416 | <property name="xpad">0</property> | 450 | <property name="xpad">0</property> |
417 | <property name="ypad">0</property> | 451 | <property name="ypad">0</property> |
452 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
453 | <property name="width_chars">-1</property> | ||
454 | <property name="single_line_mode">False</property> | ||
455 | <property name="angle">0</property> | ||
418 | </widget> | 456 | </widget> |
419 | <packing> | 457 | <packing> |
420 | <property name="type">label_item</property> | 458 | <property name="type">label_item</property> |
@@ -430,7 +468,6 @@ Thank you, | |||
430 | 468 | ||
431 | <child> | 469 | <child> |
432 | <widget class="GtkFrame" id="frame2"> | 470 | <widget class="GtkFrame" id="frame2"> |
433 | <property name="visible">True</property> | ||
434 | <property name="label_xalign">0</property> | 471 | <property name="label_xalign">0</property> |
435 | <property name="label_yalign">0.5</property> | 472 | <property name="label_yalign">0.5</property> |
436 | <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> | 473 | <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> |
@@ -449,6 +486,10 @@ Thank you, | |||
449 | <property name="yalign">0.5</property> | 486 | <property name="yalign">0.5</property> |
450 | <property name="xpad">0</property> | 487 | <property name="xpad">0</property> |
451 | <property name="ypad">0</property> | 488 | <property name="ypad">0</property> |
489 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
490 | <property name="width_chars">-1</property> | ||
491 | <property name="single_line_mode">False</property> | ||
492 | <property name="angle">0</property> | ||
452 | </widget> | 493 | </widget> |
453 | </child> | 494 | </child> |
454 | 495 | ||
@@ -465,6 +506,10 @@ Thank you, | |||
465 | <property name="yalign">0.5</property> | 506 | <property name="yalign">0.5</property> |
466 | <property name="xpad">0</property> | 507 | <property name="xpad">0</property> |
467 | <property name="ypad">0</property> | 508 | <property name="ypad">0</property> |
509 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
510 | <property name="width_chars">-1</property> | ||
511 | <property name="single_line_mode">False</property> | ||
512 | <property name="angle">0</property> | ||
468 | </widget> | 513 | </widget> |
469 | <packing> | 514 | <packing> |
470 | <property name="type">label_item</property> | 515 | <property name="type">label_item</property> |
@@ -480,7 +525,6 @@ Thank you, | |||
480 | 525 | ||
481 | <child> | 526 | <child> |
482 | <widget class="GtkFrame" id="frame1"> | 527 | <widget class="GtkFrame" id="frame1"> |
483 | <property name="visible">True</property> | ||
484 | <property name="label_xalign">0</property> | 528 | <property name="label_xalign">0</property> |
485 | <property name="label_yalign">0.5</property> | 529 | <property name="label_yalign">0.5</property> |
486 | <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> | 530 | <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> |
@@ -502,6 +546,9 @@ Thank you, | |||
502 | <property name="rules_hint">False</property> | 546 | <property name="rules_hint">False</property> |
503 | <property name="reorderable">False</property> | 547 | <property name="reorderable">False</property> |
504 | <property name="enable_search">True</property> | 548 | <property name="enable_search">True</property> |
549 | <property name="fixed_height_mode">True</property> | ||
550 | <property name="hover_selection">False</property> | ||
551 | <property name="hover_expand">False</property> | ||
505 | </widget> | 552 | </widget> |
506 | </child> | 553 | </child> |
507 | </widget> | 554 | </widget> |
@@ -520,6 +567,10 @@ Thank you, | |||
520 | <property name="yalign">0.5</property> | 567 | <property name="yalign">0.5</property> |
521 | <property name="xpad">0</property> | 568 | <property name="xpad">0</property> |
522 | <property name="ypad">0</property> | 569 | <property name="ypad">0</property> |
570 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
571 | <property name="width_chars">-1</property> | ||
572 | <property name="single_line_mode">False</property> | ||
573 | <property name="angle">0</property> | ||
523 | </widget> | 574 | </widget> |
524 | <packing> | 575 | <packing> |
525 | <property name="type">label_item</property> | 576 | <property name="type">label_item</property> |
@@ -560,6 +611,10 @@ Thank you, | |||
560 | <property name="yalign">0.5</property> | 611 | <property name="yalign">0.5</property> |
561 | <property name="xpad">0</property> | 612 | <property name="xpad">0</property> |
562 | <property name="ypad">0</property> | 613 | <property name="ypad">0</property> |
614 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
615 | <property name="width_chars">-1</property> | ||
616 | <property name="single_line_mode">False</property> | ||
617 | <property name="angle">0</property> | ||
563 | </widget> | 618 | </widget> |
564 | <packing> | 619 | <packing> |
565 | <property name="type">tab</property> | 620 | <property name="type">tab</property> |
@@ -573,7 +628,7 @@ Thank you, | |||
573 | <property name="show_tabs">True</property> | 628 | <property name="show_tabs">True</property> |
574 | <property name="show_border">True</property> | 629 | <property name="show_border">True</property> |
575 | <property name="tab_pos">GTK_POS_TOP</property> | 630 | <property name="tab_pos">GTK_POS_TOP</property> |
576 | <property name="scrollable">False</property> | 631 | <property name="scrollable">True</property> |
577 | <property name="enable_popup">False</property> | 632 | <property name="enable_popup">False</property> |
578 | 633 | ||
579 | <child> | 634 | <child> |
@@ -598,7 +653,7 @@ Thank you, | |||
598 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> | 653 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> |
599 | 654 | ||
600 | <child> | 655 | <child> |
601 | <widget class="GtkTreeView" id="clist7"> | 656 | <widget class="GtkTreeView" id="activeSearchesSummary"> |
602 | <property agent="glademm" name="cxx_visibility">public</property> | 657 | <property agent="glademm" name="cxx_visibility">public</property> |
603 | <property name="visible">True</property> | 658 | <property name="visible">True</property> |
604 | <property name="can_focus">True</property> | 659 | <property name="can_focus">True</property> |
@@ -606,6 +661,9 @@ Thank you, | |||
606 | <property name="rules_hint">False</property> | 661 | <property name="rules_hint">False</property> |
607 | <property name="reorderable">False</property> | 662 | <property name="reorderable">False</property> |
608 | <property name="enable_search">True</property> | 663 | <property name="enable_search">True</property> |
664 | <property name="fixed_height_mode">False</property> | ||
665 | <property name="hover_selection">False</property> | ||
666 | <property name="hover_expand">False</property> | ||
609 | </widget> | 667 | </widget> |
610 | </child> | 668 | </child> |
611 | </widget> | 669 | </widget> |
@@ -614,7 +672,7 @@ Thank you, | |||
614 | <child> | 672 | <child> |
615 | <widget class="GtkLabel" id="label16"> | 673 | <widget class="GtkLabel" id="label16"> |
616 | <property name="visible">True</property> | 674 | <property name="visible">True</property> |
617 | <property name="label" translatable="yes">Search Results</property> | 675 | <property name="label" translatable="yes">Search Overview</property> |
618 | <property name="use_underline">False</property> | 676 | <property name="use_underline">False</property> |
619 | <property name="use_markup">False</property> | 677 | <property name="use_markup">False</property> |
620 | <property name="justify">GTK_JUSTIFY_LEFT</property> | 678 | <property name="justify">GTK_JUSTIFY_LEFT</property> |
@@ -624,6 +682,10 @@ Thank you, | |||
624 | <property name="yalign">0.5</property> | 682 | <property name="yalign">0.5</property> |
625 | <property name="xpad">0</property> | 683 | <property name="xpad">0</property> |
626 | <property name="ypad">0</property> | 684 | <property name="ypad">0</property> |
685 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
686 | <property name="width_chars">-1</property> | ||
687 | <property name="single_line_mode">False</property> | ||
688 | <property name="angle">0</property> | ||
627 | </widget> | 689 | </widget> |
628 | <packing> | 690 | <packing> |
629 | <property name="type">label_item</property> | 691 | <property name="type">label_item</property> |
@@ -653,7 +715,7 @@ Thank you, | |||
653 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> | 715 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> |
654 | 716 | ||
655 | <child> | 717 | <child> |
656 | <widget class="GtkTreeView" id="clist5"> | 718 | <widget class="GtkTreeView" id="activeDownloadsList"> |
657 | <property agent="glademm" name="cxx_visibility">public</property> | 719 | <property agent="glademm" name="cxx_visibility">public</property> |
658 | <property name="visible">True</property> | 720 | <property name="visible">True</property> |
659 | <property name="can_focus">True</property> | 721 | <property name="can_focus">True</property> |
@@ -661,6 +723,9 @@ Thank you, | |||
661 | <property name="rules_hint">False</property> | 723 | <property name="rules_hint">False</property> |
662 | <property name="reorderable">False</property> | 724 | <property name="reorderable">False</property> |
663 | <property name="enable_search">True</property> | 725 | <property name="enable_search">True</property> |
726 | <property name="fixed_height_mode">False</property> | ||
727 | <property name="hover_selection">False</property> | ||
728 | <property name="hover_expand">False</property> | ||
664 | </widget> | 729 | </widget> |
665 | </child> | 730 | </child> |
666 | </widget> | 731 | </widget> |
@@ -679,6 +744,10 @@ Thank you, | |||
679 | <property name="yalign">0.5</property> | 744 | <property name="yalign">0.5</property> |
680 | <property name="xpad">0</property> | 745 | <property name="xpad">0</property> |
681 | <property name="ypad">0</property> | 746 | <property name="ypad">0</property> |
747 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
748 | <property name="width_chars">-1</property> | ||
749 | <property name="single_line_mode">False</property> | ||
750 | <property name="angle">0</property> | ||
682 | </widget> | 751 | </widget> |
683 | <packing> | 752 | <packing> |
684 | <property name="type">label_item</property> | 753 | <property name="type">label_item</property> |
@@ -708,7 +777,7 @@ Thank you, | |||
708 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> | 777 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> |
709 | 778 | ||
710 | <child> | 779 | <child> |
711 | <widget class="GtkTreeView" id="clist6"> | 780 | <widget class="GtkTreeView" id="activeUploadsList"> |
712 | <property agent="glademm" name="cxx_visibility">public</property> | 781 | <property agent="glademm" name="cxx_visibility">public</property> |
713 | <property name="visible">True</property> | 782 | <property name="visible">True</property> |
714 | <property name="can_focus">True</property> | 783 | <property name="can_focus">True</property> |
@@ -716,6 +785,9 @@ Thank you, | |||
716 | <property name="rules_hint">False</property> | 785 | <property name="rules_hint">False</property> |
717 | <property name="reorderable">False</property> | 786 | <property name="reorderable">False</property> |
718 | <property name="enable_search">True</property> | 787 | <property name="enable_search">True</property> |
788 | <property name="fixed_height_mode">False</property> | ||
789 | <property name="hover_selection">False</property> | ||
790 | <property name="hover_expand">False</property> | ||
719 | </widget> | 791 | </widget> |
720 | </child> | 792 | </child> |
721 | </widget> | 793 | </widget> |
@@ -734,6 +806,10 @@ Thank you, | |||
734 | <property name="yalign">0.5</property> | 806 | <property name="yalign">0.5</property> |
735 | <property name="xpad">0</property> | 807 | <property name="xpad">0</property> |
736 | <property name="ypad">0</property> | 808 | <property name="ypad">0</property> |
809 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
810 | <property name="width_chars">-1</property> | ||
811 | <property name="single_line_mode">False</property> | ||
812 | <property name="angle">0</property> | ||
737 | </widget> | 813 | </widget> |
738 | <packing> | 814 | <packing> |
739 | <property name="type">label_item</property> | 815 | <property name="type">label_item</property> |
@@ -755,7 +831,6 @@ Thank you, | |||
755 | 831 | ||
756 | <child> | 832 | <child> |
757 | <widget class="GtkLabel" id="statusfstab"> | 833 | <widget class="GtkLabel" id="statusfstab"> |
758 | <property name="visible">True</property> | ||
759 | <property name="label" translatable="yes">S_tatus</property> | 834 | <property name="label" translatable="yes">S_tatus</property> |
760 | <property name="use_underline">True</property> | 835 | <property name="use_underline">True</property> |
761 | <property name="use_markup">False</property> | 836 | <property name="use_markup">False</property> |
@@ -766,6 +841,10 @@ Thank you, | |||
766 | <property name="yalign">0.5</property> | 841 | <property name="yalign">0.5</property> |
767 | <property name="xpad">0</property> | 842 | <property name="xpad">0</property> |
768 | <property name="ypad">0</property> | 843 | <property name="ypad">0</property> |
844 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
845 | <property name="width_chars">-1</property> | ||
846 | <property name="single_line_mode">False</property> | ||
847 | <property name="angle">0</property> | ||
769 | </widget> | 848 | </widget> |
770 | <packing> | 849 | <packing> |
771 | <property name="type">tab</property> | 850 | <property name="type">tab</property> |
@@ -779,18 +858,15 @@ Thank you, | |||
779 | <property name="spacing">0</property> | 858 | <property name="spacing">0</property> |
780 | 859 | ||
781 | <child> | 860 | <child> |
782 | <widget class="GtkNotebook" id="downloadNotebook"> | 861 | <widget class="GtkHBox" id="fssearchhbox"> |
783 | <property agent="glademm" name="cxx_visibility">public</property> | 862 | <property name="visible">True</property> |
784 | <property name="can_focus">True</property> | 863 | <property name="homogeneous">False</property> |
785 | <property name="show_tabs">True</property> | 864 | <property name="spacing">0</property> |
786 | <property name="show_border">True</property> | ||
787 | <property name="tab_pos">GTK_POS_TOP</property> | ||
788 | <property name="scrollable">False</property> | ||
789 | <property name="enable_popup">False</property> | ||
790 | 865 | ||
791 | <child> | 866 | <child> |
792 | <widget class="GtkLabel" id="label61"> | 867 | <widget class="GtkLabel" id="searchkeywordlabel"> |
793 | <property name="label" translatable="yes">label61</property> | 868 | <property name="visible">True</property> |
869 | <property name="label" translatable="yes">Keyword:</property> | ||
794 | <property name="use_underline">False</property> | 870 | <property name="use_underline">False</property> |
795 | <property name="use_markup">False</property> | 871 | <property name="use_markup">False</property> |
796 | <property name="justify">GTK_JUSTIFY_LEFT</property> | 872 | <property name="justify">GTK_JUSTIFY_LEFT</property> |
@@ -798,102 +874,31 @@ Thank you, | |||
798 | <property name="selectable">False</property> | 874 | <property name="selectable">False</property> |
799 | <property name="xalign">0.5</property> | 875 | <property name="xalign">0.5</property> |
800 | <property name="yalign">0.5</property> | 876 | <property name="yalign">0.5</property> |
801 | <property name="xpad">0</property> | 877 | <property name="xpad">5</property> |
802 | <property name="ypad">0</property> | ||
803 | </widget> | ||
804 | <packing> | ||
805 | <property name="tab_expand">False</property> | ||
806 | <property name="tab_fill">True</property> | ||
807 | </packing> | ||
808 | </child> | ||
809 | |||
810 | <child> | ||
811 | <widget class="GtkLabel" id="label36"> | ||
812 | <property name="label" translatable="yes">label36</property> | ||
813 | <property name="use_underline">False</property> | ||
814 | <property name="use_markup">False</property> | ||
815 | <property name="justify">GTK_JUSTIFY_CENTER</property> | ||
816 | <property name="wrap">False</property> | ||
817 | <property name="selectable">False</property> | ||
818 | <property name="xalign">0.5</property> | ||
819 | <property name="yalign">0.5</property> | ||
820 | <property name="xpad">0</property> | ||
821 | <property name="ypad">0</property> | 878 | <property name="ypad">0</property> |
879 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
880 | <property name="width_chars">-1</property> | ||
881 | <property name="single_line_mode">False</property> | ||
882 | <property name="angle">0</property> | ||
822 | </widget> | 883 | </widget> |
823 | <packing> | 884 | <packing> |
824 | <property name="type">tab</property> | 885 | <property name="padding">0</property> |
886 | <property name="expand">False</property> | ||
887 | <property name="fill">False</property> | ||
825 | </packing> | 888 | </packing> |
826 | </child> | 889 | </child> |
827 | </widget> | ||
828 | <packing> | ||
829 | <property name="padding">0</property> | ||
830 | <property name="expand">True</property> | ||
831 | <property name="fill">True</property> | ||
832 | </packing> | ||
833 | </child> | ||
834 | |||
835 | <child> | ||
836 | <widget class="GtkHBox" id="fssearchhbox"> | ||
837 | <property name="visible">True</property> | ||
838 | <property name="homogeneous">False</property> | ||
839 | <property name="spacing">0</property> | ||
840 | 890 | ||
841 | <child> | 891 | <child> |
842 | <widget class="GtkCombo" id="fsSearchStringInputLine"> | 892 | <widget class="GtkComboBoxEntry" id="fssearchKeywordComboBoxEntry"> |
893 | <property agent="glademm" name="cxx_visibility">public</property> | ||
843 | <property name="visible">True</property> | 894 | <property name="visible">True</property> |
844 | <property name="value_in_list">False</property> | 895 | <property name="can_default">True</property> |
845 | <property name="allow_empty">True</property> | 896 | <property name="has_default">True</property> |
846 | <property name="case_sensitive">False</property> | 897 | <property name="can_focus">True</property> |
847 | <property name="enable_arrow_keys">True</property> | 898 | <property name="has_focus">True</property> |
848 | <property name="enable_arrows_always">False</property> | 899 | <property name="add_tearoffs">False</property> |
849 | <accessibility> | 900 | <property name="has_frame">True</property> |
850 | <atkproperty name="AtkObject::accessible_description" translatable="yes">Enter the keywords to search for in this line.</atkproperty> | 901 | <property name="focus_on_click">True</property> |
851 | </accessibility> | ||
852 | |||
853 | <child internal-child="entry"> | ||
854 | <widget class="GtkEntry" id="searchKeywordGtkEntry"> | ||
855 | <property agent="glademm" name="cxx_visibility">public</property> | ||
856 | <property name="visible">True</property> | ||
857 | <property name="can_focus">True</property> | ||
858 | <property name="editable">True</property> | ||
859 | <property name="visibility">True</property> | ||
860 | <property name="max_length">0</property> | ||
861 | <property name="text" translatable="yes"></property> | ||
862 | <property name="has_frame">True</property> | ||
863 | <property name="invisible_char">*</property> | ||
864 | <property name="activates_default">False</property> | ||
865 | <accelerator key="Return" modifiers="0" signal="activate"/> | ||
866 | </widget> | ||
867 | </child> | ||
868 | |||
869 | <child internal-child="list"> | ||
870 | <widget class="GtkList" id="convertwidget13"> | ||
871 | <property name="visible">True</property> | ||
872 | <property name="selection_mode">GTK_SELECTION_BROWSE</property> | ||
873 | |||
874 | <child> | ||
875 | <widget class="GtkListItem" id="convertwidget14"> | ||
876 | <property name="visible">True</property> | ||
877 | |||
878 | <child> | ||
879 | <widget class="GtkLabel" id="convertwidget15"> | ||
880 | <property name="visible">True</property> | ||
881 | <property name="label" translatable="yes"></property> | ||
882 | <property name="use_underline">False</property> | ||
883 | <property name="use_markup">False</property> | ||
884 | <property name="justify">GTK_JUSTIFY_LEFT</property> | ||
885 | <property name="wrap">False</property> | ||
886 | <property name="selectable">False</property> | ||
887 | <property name="xalign">0</property> | ||
888 | <property name="yalign">0.5</property> | ||
889 | <property name="xpad">0</property> | ||
890 | <property name="ypad">0</property> | ||
891 | </widget> | ||
892 | </child> | ||
893 | </widget> | ||
894 | </child> | ||
895 | </widget> | ||
896 | </child> | ||
897 | </widget> | 902 | </widget> |
898 | <packing> | 903 | <packing> |
899 | <property name="padding">0</property> | 904 | <property name="padding">0</property> |
@@ -905,10 +910,11 @@ Thank you, | |||
905 | <child> | 910 | <child> |
906 | <widget class="GtkButton" id="fssearchbutton"> | 911 | <widget class="GtkButton" id="fssearchbutton"> |
907 | <property name="visible">True</property> | 912 | <property name="visible">True</property> |
913 | <property name="tooltip" translatable="yes">Search GNUnet</property> | ||
908 | <property name="can_focus">True</property> | 914 | <property name="can_focus">True</property> |
909 | <property name="relief">GTK_RELIEF_NORMAL</property> | 915 | <property name="relief">GTK_RELIEF_NORMAL</property> |
910 | <property name="focus_on_click">True</property> | 916 | <property name="focus_on_click">True</property> |
911 | <signal name="clicked" handler="on_fssearchbutton_clicked" object="fssearchhbox" last_modification_time="Mon, 23 May 2005 19:06:23 GMT"/> | 917 | <signal name="clicked" handler="on_fssearchbutton_clicked" last_modification_time="Mon, 23 May 2005 19:06:23 GMT"/> |
912 | <accelerator key="Return" modifiers="0" signal="activate"/> | 918 | <accelerator key="Return" modifiers="0" signal="activate"/> |
913 | 919 | ||
914 | <child> | 920 | <child> |
@@ -959,6 +965,10 @@ Thank you, | |||
959 | <property name="yalign">0.5</property> | 965 | <property name="yalign">0.5</property> |
960 | <property name="xpad">0</property> | 966 | <property name="xpad">0</property> |
961 | <property name="ypad">0</property> | 967 | <property name="ypad">0</property> |
968 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
969 | <property name="width_chars">-1</property> | ||
970 | <property name="single_line_mode">False</property> | ||
971 | <property name="angle">0</property> | ||
962 | </widget> | 972 | </widget> |
963 | <packing> | 973 | <packing> |
964 | <property name="padding">0</property> | 974 | <property name="padding">0</property> |
@@ -991,6 +1001,10 @@ Thank you, | |||
991 | <property name="yalign">0.5</property> | 1001 | <property name="yalign">0.5</property> |
992 | <property name="xpad">8</property> | 1002 | <property name="xpad">8</property> |
993 | <property name="ypad">0</property> | 1003 | <property name="ypad">0</property> |
1004 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1005 | <property name="width_chars">-1</property> | ||
1006 | <property name="single_line_mode">False</property> | ||
1007 | <property name="angle">0</property> | ||
994 | </widget> | 1008 | </widget> |
995 | <packing> | 1009 | <packing> |
996 | <property name="padding">0</property> | 1010 | <property name="padding">0</property> |
@@ -1003,11 +1017,14 @@ Thank you, | |||
1003 | <widget class="GtkComboBoxEntry" id="searchNamespaceComboBoxEntry"> | 1017 | <widget class="GtkComboBoxEntry" id="searchNamespaceComboBoxEntry"> |
1004 | <property agent="glademm" name="cxx_visibility">public</property> | 1018 | <property agent="glademm" name="cxx_visibility">public</property> |
1005 | <property name="visible">True</property> | 1019 | <property name="visible">True</property> |
1020 | <property name="add_tearoffs">False</property> | ||
1021 | <property name="has_frame">True</property> | ||
1022 | <property name="focus_on_click">True</property> | ||
1006 | </widget> | 1023 | </widget> |
1007 | <packing> | 1024 | <packing> |
1008 | <property name="padding">0</property> | 1025 | <property name="padding">0</property> |
1009 | <property name="expand">False</property> | 1026 | <property name="expand">True</property> |
1010 | <property name="fill">False</property> | 1027 | <property name="fill">True</property> |
1011 | </packing> | 1028 | </packing> |
1012 | </child> | 1029 | </child> |
1013 | </widget> | 1030 | </widget> |
@@ -1017,6 +1034,68 @@ Thank you, | |||
1017 | <property name="fill">False</property> | 1034 | <property name="fill">False</property> |
1018 | </packing> | 1035 | </packing> |
1019 | </child> | 1036 | </child> |
1037 | |||
1038 | <child> | ||
1039 | <widget class="GtkNotebook" id="downloadNotebook"> | ||
1040 | <property agent="glademm" name="cxx_visibility">public</property> | ||
1041 | <property name="can_focus">True</property> | ||
1042 | <property name="show_tabs">True</property> | ||
1043 | <property name="show_border">True</property> | ||
1044 | <property name="tab_pos">GTK_POS_TOP</property> | ||
1045 | <property name="scrollable">True</property> | ||
1046 | <property name="enable_popup">False</property> | ||
1047 | |||
1048 | <child> | ||
1049 | <widget class="GtkLabel" id="label61"> | ||
1050 | <property name="label" translatable="yes">label61</property> | ||
1051 | <property name="use_underline">False</property> | ||
1052 | <property name="use_markup">False</property> | ||
1053 | <property name="justify">GTK_JUSTIFY_LEFT</property> | ||
1054 | <property name="wrap">False</property> | ||
1055 | <property name="selectable">False</property> | ||
1056 | <property name="xalign">0.5</property> | ||
1057 | <property name="yalign">0.5</property> | ||
1058 | <property name="xpad">0</property> | ||
1059 | <property name="ypad">0</property> | ||
1060 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1061 | <property name="width_chars">-1</property> | ||
1062 | <property name="single_line_mode">False</property> | ||
1063 | <property name="angle">0</property> | ||
1064 | </widget> | ||
1065 | <packing> | ||
1066 | <property name="tab_expand">False</property> | ||
1067 | <property name="tab_fill">True</property> | ||
1068 | </packing> | ||
1069 | </child> | ||
1070 | |||
1071 | <child> | ||
1072 | <widget class="GtkLabel" id="label36"> | ||
1073 | <property name="label" translatable="yes">label36</property> | ||
1074 | <property name="use_underline">False</property> | ||
1075 | <property name="use_markup">False</property> | ||
1076 | <property name="justify">GTK_JUSTIFY_CENTER</property> | ||
1077 | <property name="wrap">False</property> | ||
1078 | <property name="selectable">False</property> | ||
1079 | <property name="xalign">0.5</property> | ||
1080 | <property name="yalign">0.5</property> | ||
1081 | <property name="xpad">0</property> | ||
1082 | <property name="ypad">0</property> | ||
1083 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1084 | <property name="width_chars">-1</property> | ||
1085 | <property name="single_line_mode">False</property> | ||
1086 | <property name="angle">0</property> | ||
1087 | </widget> | ||
1088 | <packing> | ||
1089 | <property name="type">tab</property> | ||
1090 | </packing> | ||
1091 | </child> | ||
1092 | </widget> | ||
1093 | <packing> | ||
1094 | <property name="padding">0</property> | ||
1095 | <property name="expand">True</property> | ||
1096 | <property name="fill">True</property> | ||
1097 | </packing> | ||
1098 | </child> | ||
1020 | </widget> | 1099 | </widget> |
1021 | <packing> | 1100 | <packing> |
1022 | <property name="tab_expand">False</property> | 1101 | <property name="tab_expand">False</property> |
@@ -1037,6 +1116,10 @@ Thank you, | |||
1037 | <property name="yalign">0.5</property> | 1116 | <property name="yalign">0.5</property> |
1038 | <property name="xpad">0</property> | 1117 | <property name="xpad">0</property> |
1039 | <property name="ypad">0</property> | 1118 | <property name="ypad">0</property> |
1119 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1120 | <property name="width_chars">-1</property> | ||
1121 | <property name="single_line_mode">True</property> | ||
1122 | <property name="angle">0</property> | ||
1040 | </widget> | 1123 | </widget> |
1041 | <packing> | 1124 | <packing> |
1042 | <property name="type">tab</property> | 1125 | <property name="type">tab</property> |
@@ -1069,6 +1152,10 @@ Thank you, | |||
1069 | <property name="xpad">5</property> | 1152 | <property name="xpad">5</property> |
1070 | <property name="ypad">0</property> | 1153 | <property name="ypad">0</property> |
1071 | <property name="mnemonic_widget">indexbutton</property> | 1154 | <property name="mnemonic_widget">indexbutton</property> |
1155 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1156 | <property name="width_chars">-1</property> | ||
1157 | <property name="single_line_mode">False</property> | ||
1158 | <property name="angle">0</property> | ||
1072 | </widget> | 1159 | </widget> |
1073 | <packing> | 1160 | <packing> |
1074 | <property name="padding">0</property> | 1161 | <property name="padding">0</property> |
@@ -1144,7 +1231,11 @@ Thank you, | |||
1144 | <property name="yalign">0.5</property> | 1231 | <property name="yalign">0.5</property> |
1145 | <property name="xpad">5</property> | 1232 | <property name="xpad">5</property> |
1146 | <property name="ypad">0</property> | 1233 | <property name="ypad">0</property> |
1147 | <property name="mnemonic_widget">radiobutton2</property> | 1234 | <property name="mnemonic_widget">scopeFileOnlyButton</property> |
1235 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1236 | <property name="width_chars">-1</property> | ||
1237 | <property name="single_line_mode">False</property> | ||
1238 | <property name="angle">0</property> | ||
1148 | </widget> | 1239 | </widget> |
1149 | <packing> | 1240 | <packing> |
1150 | <property name="padding">0</property> | 1241 | <property name="padding">0</property> |
@@ -1154,7 +1245,7 @@ Thank you, | |||
1154 | </child> | 1245 | </child> |
1155 | 1246 | ||
1156 | <child> | 1247 | <child> |
1157 | <widget class="GtkRadioButton" id="radiobutton2"> | 1248 | <widget class="GtkRadioButton" id="scopeFileOnlyButton"> |
1158 | <property agent="glademm" name="cxx_visibility">public</property> | 1249 | <property agent="glademm" name="cxx_visibility">public</property> |
1159 | <property name="visible">True</property> | 1250 | <property name="visible">True</property> |
1160 | <property name="can_focus">True</property> | 1251 | <property name="can_focus">True</property> |
@@ -1174,7 +1265,7 @@ Thank you, | |||
1174 | </child> | 1265 | </child> |
1175 | 1266 | ||
1176 | <child> | 1267 | <child> |
1177 | <widget class="GtkRadioButton" id="radiobutton3"> | 1268 | <widget class="GtkRadioButton" id="scopeRecursiveButton"> |
1178 | <property agent="glademm" name="cxx_visibility">public</property> | 1269 | <property agent="glademm" name="cxx_visibility">public</property> |
1179 | <property name="visible">True</property> | 1270 | <property name="visible">True</property> |
1180 | <property name="can_focus">True</property> | 1271 | <property name="can_focus">True</property> |
@@ -1185,7 +1276,7 @@ Thank you, | |||
1185 | <property name="active">False</property> | 1276 | <property name="active">False</property> |
1186 | <property name="inconsistent">False</property> | 1277 | <property name="inconsistent">False</property> |
1187 | <property name="draw_indicator">True</property> | 1278 | <property name="draw_indicator">True</property> |
1188 | <property name="group">radiobutton2</property> | 1279 | <property name="group">scopeFileOnlyButton</property> |
1189 | </widget> | 1280 | </widget> |
1190 | <packing> | 1281 | <packing> |
1191 | <property name="padding">0</property> | 1282 | <property name="padding">0</property> |
@@ -1208,7 +1299,7 @@ Thank you, | |||
1208 | <property name="spacing">0</property> | 1299 | <property name="spacing">0</property> |
1209 | 1300 | ||
1210 | <child> | 1301 | <child> |
1211 | <widget class="GtkLabel" id="label54"> | 1302 | <widget class="GtkLabel" id="uploadFilenameLabel"> |
1212 | <property name="visible">True</property> | 1303 | <property name="visible">True</property> |
1213 | <property name="label" translatable="yes">_Filename:</property> | 1304 | <property name="label" translatable="yes">_Filename:</property> |
1214 | <property name="use_underline">True</property> | 1305 | <property name="use_underline">True</property> |
@@ -1220,7 +1311,11 @@ Thank you, | |||
1220 | <property name="yalign">0.5</property> | 1311 | <property name="yalign">0.5</property> |
1221 | <property name="xpad">5</property> | 1312 | <property name="xpad">5</property> |
1222 | <property name="ypad">0</property> | 1313 | <property name="ypad">0</property> |
1223 | <property name="mnemonic_widget">combo-entry1</property> | 1314 | <property name="mnemonic_widget">uploadFilenameComboBoxEntry</property> |
1315 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1316 | <property name="width_chars">-1</property> | ||
1317 | <property name="single_line_mode">False</property> | ||
1318 | <property name="angle">0</property> | ||
1224 | </widget> | 1319 | </widget> |
1225 | <packing> | 1320 | <packing> |
1226 | <property name="padding">0</property> | 1321 | <property name="padding">0</property> |
@@ -1230,57 +1325,15 @@ Thank you, | |||
1230 | </child> | 1325 | </child> |
1231 | 1326 | ||
1232 | <child> | 1327 | <child> |
1233 | <widget class="GtkCombo" id="fsinsertfilenamecombo"> | 1328 | <widget class="GtkComboBoxEntry" id="uploadFilenameComboBoxEntry"> |
1329 | <property agent="glademm" name="cxx_visibility">public</property> | ||
1234 | <property name="visible">True</property> | 1330 | <property name="visible">True</property> |
1235 | <property name="value_in_list">False</property> | 1331 | <property name="can_focus">True</property> |
1236 | <property name="allow_empty">True</property> | 1332 | <property name="has_focus">True</property> |
1237 | <property name="case_sensitive">False</property> | 1333 | <property name="add_tearoffs">False</property> |
1238 | <property name="enable_arrow_keys">True</property> | 1334 | <property name="has_frame">True</property> |
1239 | <property name="enable_arrows_always">False</property> | 1335 | <property name="focus_on_click">True</property> |
1240 | 1336 | <signal name="editing_done" handler="on_uploadFilenameComboBoxEntry_editing_done" last_modification_time="Sat, 28 May 2005 14:43:26 GMT"/> | |
1241 | <child internal-child="entry"> | ||
1242 | <widget class="GtkEntry" id="combo-entry1"> | ||
1243 | <property agent="glademm" name="cxx_visibility">public</property> | ||
1244 | <property name="visible">True</property> | ||
1245 | <property name="can_focus">True</property> | ||
1246 | <property name="editable">True</property> | ||
1247 | <property name="visibility">True</property> | ||
1248 | <property name="max_length">0</property> | ||
1249 | <property name="text" translatable="yes"></property> | ||
1250 | <property name="has_frame">True</property> | ||
1251 | <property name="invisible_char">*</property> | ||
1252 | <property name="activates_default">False</property> | ||
1253 | </widget> | ||
1254 | </child> | ||
1255 | |||
1256 | <child internal-child="list"> | ||
1257 | <widget class="GtkList" id="convertwidget18"> | ||
1258 | <property name="visible">True</property> | ||
1259 | <property name="selection_mode">GTK_SELECTION_BROWSE</property> | ||
1260 | |||
1261 | <child> | ||
1262 | <widget class="GtkListItem" id="convertwidget19"> | ||
1263 | <property name="visible">True</property> | ||
1264 | |||
1265 | <child> | ||
1266 | <widget class="GtkLabel" id="convertwidget20"> | ||
1267 | <property name="visible">True</property> | ||
1268 | <property name="label" translatable="yes"></property> | ||
1269 | <property name="use_underline">False</property> | ||
1270 | <property name="use_markup">False</property> | ||
1271 | <property name="justify">GTK_JUSTIFY_LEFT</property> | ||
1272 | <property name="wrap">False</property> | ||
1273 | <property name="selectable">False</property> | ||
1274 | <property name="xalign">0</property> | ||
1275 | <property name="yalign">0.5</property> | ||
1276 | <property name="xpad">0</property> | ||
1277 | <property name="ypad">0</property> | ||
1278 | </widget> | ||
1279 | </child> | ||
1280 | </widget> | ||
1281 | </child> | ||
1282 | </widget> | ||
1283 | </child> | ||
1284 | </widget> | 1337 | </widget> |
1285 | <packing> | 1338 | <packing> |
1286 | <property name="padding">0</property> | 1339 | <property name="padding">0</property> |
@@ -1292,6 +1345,7 @@ Thank you, | |||
1292 | <child> | 1345 | <child> |
1293 | <widget class="GtkButton" id="mainFileSharingInsertBrowseButton"> | 1346 | <widget class="GtkButton" id="mainFileSharingInsertBrowseButton"> |
1294 | <property name="visible">True</property> | 1347 | <property name="visible">True</property> |
1348 | <property name="tooltip" translatable="yes">Browse local computer for files to upload.</property> | ||
1295 | <property name="can_focus">True</property> | 1349 | <property name="can_focus">True</property> |
1296 | <property name="relief">GTK_RELIEF_NORMAL</property> | 1350 | <property name="relief">GTK_RELIEF_NORMAL</property> |
1297 | <property name="focus_on_click">True</property> | 1351 | <property name="focus_on_click">True</property> |
@@ -1345,6 +1399,10 @@ Thank you, | |||
1345 | <property name="yalign">0.5</property> | 1399 | <property name="yalign">0.5</property> |
1346 | <property name="xpad">0</property> | 1400 | <property name="xpad">0</property> |
1347 | <property name="ypad">0</property> | 1401 | <property name="ypad">0</property> |
1402 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1403 | <property name="width_chars">-1</property> | ||
1404 | <property name="single_line_mode">False</property> | ||
1405 | <property name="angle">0</property> | ||
1348 | </widget> | 1406 | </widget> |
1349 | <packing> | 1407 | <packing> |
1350 | <property name="padding">0</property> | 1408 | <property name="padding">0</property> |
@@ -1427,6 +1485,10 @@ Thank you, | |||
1427 | <property name="yalign">0.5</property> | 1485 | <property name="yalign">0.5</property> |
1428 | <property name="xpad">0</property> | 1486 | <property name="xpad">0</property> |
1429 | <property name="ypad">0</property> | 1487 | <property name="ypad">0</property> |
1488 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1489 | <property name="width_chars">-1</property> | ||
1490 | <property name="single_line_mode">False</property> | ||
1491 | <property name="angle">0</property> | ||
1430 | </widget> | 1492 | </widget> |
1431 | <packing> | 1493 | <packing> |
1432 | <property name="padding">0</property> | 1494 | <property name="padding">0</property> |
@@ -1465,6 +1527,10 @@ Thank you, | |||
1465 | <property name="yalign">0.5</property> | 1527 | <property name="yalign">0.5</property> |
1466 | <property name="xpad">0</property> | 1528 | <property name="xpad">0</property> |
1467 | <property name="ypad">0</property> | 1529 | <property name="ypad">0</property> |
1530 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1531 | <property name="width_chars">-1</property> | ||
1532 | <property name="single_line_mode">False</property> | ||
1533 | <property name="angle">0</property> | ||
1468 | </widget> | 1534 | </widget> |
1469 | <packing> | 1535 | <packing> |
1470 | <property name="type">tab</property> | 1536 | <property name="type">tab</property> |
@@ -1478,52 +1544,63 @@ Thank you, | |||
1478 | <property name="spacing">0</property> | 1544 | <property name="spacing">0</property> |
1479 | 1545 | ||
1480 | <child> | 1546 | <child> |
1481 | <widget class="GtkMenuBar" id="menubar2"> | 1547 | <widget class="GtkMenuBar" id="advanced_fs_menubar"> |
1482 | <property name="visible">True</property> | 1548 | <property name="visible">True</property> |
1483 | 1549 | ||
1484 | <child> | 1550 | <child> |
1485 | <widget class="GtkMenuItem" id="createNamespace"> | 1551 | <widget class="GtkImageMenuItem" id="createNamespace"> |
1486 | <property name="visible">True</property> | 1552 | <property name="visible">True</property> |
1487 | <property name="label" translatable="yes">_create</property> | 1553 | <property name="label" translatable="yes">_create</property> |
1488 | <property name="use_underline">True</property> | 1554 | <property name="use_underline">True</property> |
1489 | 1555 | ||
1556 | <child internal-child="image"> | ||
1557 | <widget class="GtkImage" id="image12"> | ||
1558 | <property name="visible">True</property> | ||
1559 | <property name="stock">gtk-new</property> | ||
1560 | <property name="icon_size">1</property> | ||
1561 | <property name="xalign">0.5</property> | ||
1562 | <property name="yalign">0.5</property> | ||
1563 | <property name="xpad">0</property> | ||
1564 | <property name="ypad">0</property> | ||
1565 | </widget> | ||
1566 | </child> | ||
1567 | |||
1490 | <child> | 1568 | <child> |
1491 | <widget class="GtkMenu" id="createNamespace_menu"> | 1569 | <widget class="GtkMenu" id="createNamespace_menu"> |
1492 | <property name="visible">True</property> | ||
1493 | 1570 | ||
1494 | <child> | 1571 | <child> |
1495 | <widget class="GtkMenuItem" id="namespace1"> | 1572 | <widget class="GtkMenuItem" id="namespaceCreate"> |
1496 | <property name="visible">True</property> | 1573 | <property name="visible">True</property> |
1497 | <property name="label" translatable="yes">_Namespace</property> | 1574 | <property name="label" translatable="yes">_Namespace</property> |
1498 | <property name="use_underline">True</property> | 1575 | <property name="use_underline">True</property> |
1499 | <signal name="activate_item" handler="on_create_namespace_clicked" last_modification_time="Mon, 23 May 2005 19:13:47 GMT"/> | 1576 | <signal name="activate" handler="create_namespace_clicked" last_modification_time="Sat, 28 May 2005 14:39:59 GMT"/> |
1500 | </widget> | 1577 | </widget> |
1501 | </child> | 1578 | </child> |
1502 | 1579 | ||
1503 | <child> | 1580 | <child> |
1504 | <widget class="GtkMenuItem" id="directory1"> | 1581 | <widget class="GtkMenuItem" id="createDirectory"> |
1505 | <property name="visible">True</property> | 1582 | <property name="visible">True</property> |
1506 | <property name="label" translatable="yes">_Directory</property> | 1583 | <property name="label" translatable="yes">_Directory</property> |
1507 | <property name="use_underline">True</property> | 1584 | <property name="use_underline">True</property> |
1508 | <signal name="activate_item" handler="on_create_directory_clicked" last_modification_time="Mon, 23 May 2005 19:13:40 GMT"/> | 1585 | <signal name="activate" handler="createDirectory_clicked" last_modification_time="Sat, 28 May 2005 14:39:59 GMT"/> |
1509 | </widget> | 1586 | </widget> |
1510 | </child> | 1587 | </child> |
1511 | 1588 | ||
1512 | <child> | 1589 | <child> |
1513 | <widget class="GtkMenuItem" id="collection1"> | 1590 | <widget class="GtkMenuItem" id="createCollection"> |
1514 | <property name="visible">True</property> | 1591 | <property name="visible">True</property> |
1515 | <property name="label" translatable="yes">_Collection</property> | 1592 | <property name="label" translatable="yes">_Collection</property> |
1516 | <property name="use_underline">True</property> | 1593 | <property name="use_underline">True</property> |
1517 | <signal name="activate_item" handler="on_create_collection_clicked" last_modification_time="Mon, 23 May 2005 19:13:32 GMT"/> | 1594 | <signal name="activate" handler="createCollection_clicked" last_modification_time="Sat, 28 May 2005 14:39:59 GMT"/> |
1518 | </widget> | 1595 | </widget> |
1519 | </child> | 1596 | </child> |
1520 | 1597 | ||
1521 | <child> | 1598 | <child> |
1522 | <widget class="GtkMenuItem" id="advertisement1"> | 1599 | <widget class="GtkMenuItem" id="createAdvertisement"> |
1523 | <property name="visible">True</property> | 1600 | <property name="visible">True</property> |
1524 | <property name="label" translatable="yes">_Advertisement</property> | 1601 | <property name="label" translatable="yes">_Advertisement</property> |
1525 | <property name="use_underline">True</property> | 1602 | <property name="use_underline">True</property> |
1526 | <signal name="activate_item" handler="on_create_advertisement_clicked" last_modification_time="Mon, 23 May 2005 19:13:53 GMT"/> | 1603 | <signal name="activate" handler="createAdvertisement_clicked" last_modification_time="Sat, 28 May 2005 14:39:59 GMT"/> |
1527 | </widget> | 1604 | </widget> |
1528 | </child> | 1605 | </child> |
1529 | </widget> | 1606 | </widget> |
@@ -1532,32 +1609,43 @@ Thank you, | |||
1532 | </child> | 1609 | </child> |
1533 | 1610 | ||
1534 | <child> | 1611 | <child> |
1535 | <widget class="GtkMenuItem" id="delete1"> | 1612 | <widget class="GtkImageMenuItem" id="delete1"> |
1536 | <property name="visible">True</property> | 1613 | <property name="visible">True</property> |
1537 | <property name="label" translatable="yes">_delete</property> | 1614 | <property name="label" translatable="yes">_delete</property> |
1538 | <property name="use_underline">True</property> | 1615 | <property name="use_underline">True</property> |
1539 | 1616 | ||
1617 | <child internal-child="image"> | ||
1618 | <widget class="GtkImage" id="image13"> | ||
1619 | <property name="visible">True</property> | ||
1620 | <property name="stock">gtk-delete</property> | ||
1621 | <property name="icon_size">1</property> | ||
1622 | <property name="xalign">0.5</property> | ||
1623 | <property name="yalign">0.5</property> | ||
1624 | <property name="xpad">0</property> | ||
1625 | <property name="ypad">0</property> | ||
1626 | </widget> | ||
1627 | </child> | ||
1628 | |||
1540 | <child> | 1629 | <child> |
1541 | <widget class="GtkMenu" id="delete1_menu"> | 1630 | <widget class="GtkMenu" id="delete1_menu"> |
1542 | <property name="visible">True</property> | ||
1543 | 1631 | ||
1544 | <child> | 1632 | <child> |
1545 | <widget class="GtkMenuItem" id="namespace2"> | 1633 | <widget class="GtkMenuItem" id="namespaceDelete"> |
1546 | <property name="visible">True</property> | 1634 | <property name="visible">True</property> |
1547 | <property name="tooltip" translatable="yes">Will prevent future insertions into the namespace (will not delete content in the namespace)</property> | 1635 | <property name="tooltip" translatable="yes">Will prevent future insertions into the namespace (will not delete content in the namespace)</property> |
1548 | <property name="label" translatable="yes">_Namespace</property> | 1636 | <property name="label" translatable="yes">_Namespace</property> |
1549 | <property name="use_underline">True</property> | 1637 | <property name="use_underline">True</property> |
1550 | <signal name="activate_item" handler="on_namespace2_clicked" last_modification_time="Mon, 23 May 2005 19:14:04 GMT"/> | 1638 | <signal name="activate" handler="namespaceDelete_clicked" last_modification_time="Sat, 28 May 2005 14:39:59 GMT"/> |
1551 | </widget> | 1639 | </widget> |
1552 | </child> | 1640 | </child> |
1553 | 1641 | ||
1554 | <child> | 1642 | <child> |
1555 | <widget class="GtkMenuItem" id="collection2"> | 1643 | <widget class="GtkMenuItem" id="deleteCollection"> |
1556 | <property name="visible">True</property> | 1644 | <property name="visible">True</property> |
1557 | <property name="tooltip" translatable="yes">end collection (will not delete content already in the collection)</property> | 1645 | <property name="tooltip" translatable="yes">end collection (will not delete content already in the collection)</property> |
1558 | <property name="label" translatable="yes">_Collection</property> | 1646 | <property name="label" translatable="yes">_Collection</property> |
1559 | <property name="use_underline">True</property> | 1647 | <property name="use_underline">True</property> |
1560 | <signal name="activate_item" handler="on_collection_delete_clicked" last_modification_time="Mon, 23 May 2005 19:14:11 GMT"/> | 1648 | <signal name="activate" handler="deleteCollection_clicked" last_modification_time="Sat, 28 May 2005 14:39:59 GMT"/> |
1561 | </widget> | 1649 | </widget> |
1562 | </child> | 1650 | </child> |
1563 | </widget> | 1651 | </widget> |
@@ -1573,12 +1661,13 @@ Thank you, | |||
1573 | </child> | 1661 | </child> |
1574 | 1662 | ||
1575 | <child> | 1663 | <child> |
1576 | <widget class="GtkNotebook" id="notebook4"> | 1664 | <widget class="GtkNotebook" id="localNamespacesNotebook"> |
1665 | <property agent="glademm" name="cxx_visibility">public</property> | ||
1577 | <property name="can_focus">True</property> | 1666 | <property name="can_focus">True</property> |
1578 | <property name="show_tabs">True</property> | 1667 | <property name="show_tabs">True</property> |
1579 | <property name="show_border">True</property> | 1668 | <property name="show_border">True</property> |
1580 | <property name="tab_pos">GTK_POS_TOP</property> | 1669 | <property name="tab_pos">GTK_POS_TOP</property> |
1581 | <property name="scrollable">False</property> | 1670 | <property name="scrollable">True</property> |
1582 | <property name="enable_popup">False</property> | 1671 | <property name="enable_popup">False</property> |
1583 | 1672 | ||
1584 | <child> | 1673 | <child> |
@@ -1593,6 +1682,10 @@ Thank you, | |||
1593 | <property name="yalign">0.5</property> | 1682 | <property name="yalign">0.5</property> |
1594 | <property name="xpad">0</property> | 1683 | <property name="xpad">0</property> |
1595 | <property name="ypad">0</property> | 1684 | <property name="ypad">0</property> |
1685 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1686 | <property name="width_chars">-1</property> | ||
1687 | <property name="single_line_mode">False</property> | ||
1688 | <property name="angle">0</property> | ||
1596 | </widget> | 1689 | </widget> |
1597 | <packing> | 1690 | <packing> |
1598 | <property name="tab_expand">False</property> | 1691 | <property name="tab_expand">False</property> |
@@ -1612,6 +1705,10 @@ Thank you, | |||
1612 | <property name="yalign">0.5</property> | 1705 | <property name="yalign">0.5</property> |
1613 | <property name="xpad">0</property> | 1706 | <property name="xpad">0</property> |
1614 | <property name="ypad">0</property> | 1707 | <property name="ypad">0</property> |
1708 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1709 | <property name="width_chars">-1</property> | ||
1710 | <property name="single_line_mode">False</property> | ||
1711 | <property name="angle">0</property> | ||
1615 | </widget> | 1712 | </widget> |
1616 | <packing> | 1713 | <packing> |
1617 | <property name="type">tab</property> | 1714 | <property name="type">tab</property> |
@@ -1654,7 +1751,7 @@ Thank you, | |||
1654 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> | 1751 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> |
1655 | 1752 | ||
1656 | <child> | 1753 | <child> |
1657 | <widget class="GtkTreeView" id="clist1"> | 1754 | <widget class="GtkTreeView" id="availableContentList"> |
1658 | <property agent="glademm" name="cxx_visibility">public</property> | 1755 | <property agent="glademm" name="cxx_visibility">public</property> |
1659 | <property name="visible">True</property> | 1756 | <property name="visible">True</property> |
1660 | <property name="can_focus">True</property> | 1757 | <property name="can_focus">True</property> |
@@ -1662,6 +1759,9 @@ Thank you, | |||
1662 | <property name="rules_hint">False</property> | 1759 | <property name="rules_hint">False</property> |
1663 | <property name="reorderable">False</property> | 1760 | <property name="reorderable">False</property> |
1664 | <property name="enable_search">True</property> | 1761 | <property name="enable_search">True</property> |
1762 | <property name="fixed_height_mode">False</property> | ||
1763 | <property name="hover_selection">False</property> | ||
1764 | <property name="hover_expand">False</property> | ||
1665 | </widget> | 1765 | </widget> |
1666 | </child> | 1766 | </child> |
1667 | </widget> | 1767 | </widget> |
@@ -1684,6 +1784,10 @@ Thank you, | |||
1684 | <property name="yalign">0.5</property> | 1784 | <property name="yalign">0.5</property> |
1685 | <property name="xpad">0</property> | 1785 | <property name="xpad">0</property> |
1686 | <property name="ypad">0</property> | 1786 | <property name="ypad">0</property> |
1787 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1788 | <property name="width_chars">-1</property> | ||
1789 | <property name="single_line_mode">False</property> | ||
1790 | <property name="angle">0</property> | ||
1687 | </widget> | 1791 | </widget> |
1688 | <packing> | 1792 | <packing> |
1689 | <property name="type">label_item</property> | 1793 | <property name="type">label_item</property> |
@@ -1716,6 +1820,10 @@ Thank you, | |||
1716 | <property name="yalign">0.5</property> | 1820 | <property name="yalign">0.5</property> |
1717 | <property name="xpad">0</property> | 1821 | <property name="xpad">0</property> |
1718 | <property name="ypad">0</property> | 1822 | <property name="ypad">0</property> |
1823 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1824 | <property name="width_chars">-1</property> | ||
1825 | <property name="single_line_mode">False</property> | ||
1826 | <property name="angle">0</property> | ||
1719 | </widget> | 1827 | </widget> |
1720 | <packing> | 1828 | <packing> |
1721 | <property name="type">tab</property> | 1829 | <property name="type">tab</property> |
@@ -1741,6 +1849,10 @@ Thank you, | |||
1741 | <property name="yalign">0.5</property> | 1849 | <property name="yalign">0.5</property> |
1742 | <property name="xpad">0</property> | 1850 | <property name="xpad">0</property> |
1743 | <property name="ypad">0</property> | 1851 | <property name="ypad">0</property> |
1852 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1853 | <property name="width_chars">-1</property> | ||
1854 | <property name="single_line_mode">False</property> | ||
1855 | <property name="angle">0</property> | ||
1744 | </widget> | 1856 | </widget> |
1745 | <packing> | 1857 | <packing> |
1746 | <property name="type">tab</property> | 1858 | <property name="type">tab</property> |
@@ -1766,6 +1878,10 @@ Thank you, | |||
1766 | <property name="yalign">0.5</property> | 1878 | <property name="yalign">0.5</property> |
1767 | <property name="xpad">0</property> | 1879 | <property name="xpad">0</property> |
1768 | <property name="ypad">0</property> | 1880 | <property name="ypad">0</property> |
1881 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1882 | <property name="width_chars">-1</property> | ||
1883 | <property name="single_line_mode">False</property> | ||
1884 | <property name="angle">0</property> | ||
1769 | </widget> | 1885 | </widget> |
1770 | <packing> | 1886 | <packing> |
1771 | <property name="padding">0</property> | 1887 | <property name="padding">0</property> |
@@ -1793,6 +1909,10 @@ Thank you, | |||
1793 | <property name="yalign">0.5</property> | 1909 | <property name="yalign">0.5</property> |
1794 | <property name="xpad">0</property> | 1910 | <property name="xpad">0</property> |
1795 | <property name="ypad">0</property> | 1911 | <property name="ypad">0</property> |
1912 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1913 | <property name="width_chars">-1</property> | ||
1914 | <property name="single_line_mode">False</property> | ||
1915 | <property name="angle">0</property> | ||
1796 | </widget> | 1916 | </widget> |
1797 | <packing> | 1917 | <packing> |
1798 | <property name="type">tab</property> | 1918 | <property name="type">tab</property> |
@@ -1812,7 +1932,7 @@ Thank you, | |||
1812 | <property name="show_tabs">True</property> | 1932 | <property name="show_tabs">True</property> |
1813 | <property name="show_border">True</property> | 1933 | <property name="show_border">True</property> |
1814 | <property name="tab_pos">GTK_POS_TOP</property> | 1934 | <property name="tab_pos">GTK_POS_TOP</property> |
1815 | <property name="scrollable">False</property> | 1935 | <property name="scrollable">True</property> |
1816 | <property name="enable_popup">False</property> | 1936 | <property name="enable_popup">False</property> |
1817 | 1937 | ||
1818 | <child> | 1938 | <child> |
@@ -1827,6 +1947,10 @@ Thank you, | |||
1827 | <property name="yalign">0.5</property> | 1947 | <property name="yalign">0.5</property> |
1828 | <property name="xpad">0</property> | 1948 | <property name="xpad">0</property> |
1829 | <property name="ypad">0</property> | 1949 | <property name="ypad">0</property> |
1950 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1951 | <property name="width_chars">-1</property> | ||
1952 | <property name="single_line_mode">False</property> | ||
1953 | <property name="angle">0</property> | ||
1830 | </widget> | 1954 | </widget> |
1831 | <packing> | 1955 | <packing> |
1832 | <property name="tab_expand">False</property> | 1956 | <property name="tab_expand">False</property> |
@@ -1846,6 +1970,10 @@ Thank you, | |||
1846 | <property name="yalign">0.5</property> | 1970 | <property name="yalign">0.5</property> |
1847 | <property name="xpad">0</property> | 1971 | <property name="xpad">0</property> |
1848 | <property name="ypad">0</property> | 1972 | <property name="ypad">0</property> |
1973 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
1974 | <property name="width_chars">-1</property> | ||
1975 | <property name="single_line_mode">False</property> | ||
1976 | <property name="angle">0</property> | ||
1849 | </widget> | 1977 | </widget> |
1850 | <packing> | 1978 | <packing> |
1851 | <property name="type">tab</property> | 1979 | <property name="type">tab</property> |
@@ -1872,6 +2000,8 @@ Thank you, | |||
1872 | <widget class="GtkEntry" id="chatMainEntryLine"> | 2000 | <widget class="GtkEntry" id="chatMainEntryLine"> |
1873 | <property agent="glademm" name="cxx_visibility">public</property> | 2001 | <property agent="glademm" name="cxx_visibility">public</property> |
1874 | <property name="visible">True</property> | 2002 | <property name="visible">True</property> |
2003 | <property name="can_default">True</property> | ||
2004 | <property name="has_default">True</property> | ||
1875 | <property name="can_focus">True</property> | 2005 | <property name="can_focus">True</property> |
1876 | <property name="editable">True</property> | 2006 | <property name="editable">True</property> |
1877 | <property name="visibility">True</property> | 2007 | <property name="visibility">True</property> |
@@ -1879,7 +2009,7 @@ Thank you, | |||
1879 | <property name="text" translatable="yes"></property> | 2009 | <property name="text" translatable="yes"></property> |
1880 | <property name="has_frame">True</property> | 2010 | <property name="has_frame">True</property> |
1881 | <property name="invisible_char">*</property> | 2011 | <property name="invisible_char">*</property> |
1882 | <property name="activates_default">False</property> | 2012 | <property name="activates_default">True</property> |
1883 | <signal name="activate" handler="chatMainEntryLine_clicked" last_modification_time="Mon, 23 May 2005 17:28:12 GMT"/> | 2013 | <signal name="activate" handler="chatMainEntryLine_clicked" last_modification_time="Mon, 23 May 2005 17:28:12 GMT"/> |
1884 | <signal name="editing_done" handler="on_chatMainEntryLine_editing_done_clicked" last_modification_time="Mon, 23 May 2005 17:28:16 GMT"/> | 2014 | <signal name="editing_done" handler="on_chatMainEntryLine_editing_done_clicked" last_modification_time="Mon, 23 May 2005 17:28:16 GMT"/> |
1885 | <accelerator key="Return" modifiers="0" signal="activate"/> | 2015 | <accelerator key="Return" modifiers="0" signal="activate"/> |
@@ -1908,6 +2038,10 @@ Thank you, | |||
1908 | <property name="yalign">0.5</property> | 2038 | <property name="yalign">0.5</property> |
1909 | <property name="xpad">0</property> | 2039 | <property name="xpad">0</property> |
1910 | <property name="ypad">0</property> | 2040 | <property name="ypad">0</property> |
2041 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2042 | <property name="width_chars">-1</property> | ||
2043 | <property name="single_line_mode">False</property> | ||
2044 | <property name="angle">0</property> | ||
1911 | </widget> | 2045 | </widget> |
1912 | </child> | 2046 | </child> |
1913 | </widget> | 2047 | </widget> |
@@ -1930,6 +2064,10 @@ Thank you, | |||
1930 | <property name="yalign">0.5</property> | 2064 | <property name="yalign">0.5</property> |
1931 | <property name="xpad">0</property> | 2065 | <property name="xpad">0</property> |
1932 | <property name="ypad">0</property> | 2066 | <property name="ypad">0</property> |
2067 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2068 | <property name="width_chars">-1</property> | ||
2069 | <property name="single_line_mode">False</property> | ||
2070 | <property name="angle">0</property> | ||
1933 | </widget> | 2071 | </widget> |
1934 | </child> | 2072 | </child> |
1935 | </widget> | 2073 | </widget> |
@@ -1963,6 +2101,10 @@ Thank you, | |||
1963 | <property name="yalign">0.5</property> | 2101 | <property name="yalign">0.5</property> |
1964 | <property name="xpad">0</property> | 2102 | <property name="xpad">0</property> |
1965 | <property name="ypad">0</property> | 2103 | <property name="ypad">0</property> |
2104 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2105 | <property name="width_chars">-1</property> | ||
2106 | <property name="single_line_mode">False</property> | ||
2107 | <property name="angle">0</property> | ||
1966 | </widget> | 2108 | </widget> |
1967 | <packing> | 2109 | <packing> |
1968 | <property name="type">tab</property> | 2110 | <property name="type">tab</property> |
@@ -1979,7 +2121,6 @@ Thank you, | |||
1979 | <child> | 2121 | <child> |
1980 | <widget class="GtkStatusbar" id="statusbar"> | 2122 | <widget class="GtkStatusbar" id="statusbar"> |
1981 | <property name="visible">True</property> | 2123 | <property name="visible">True</property> |
1982 | <property name="sensitive">False</property> | ||
1983 | <property name="has_resize_grip">True</property> | 2124 | <property name="has_resize_grip">True</property> |
1984 | </widget> | 2125 | </widget> |
1985 | <packing> | 2126 | <packing> |
@@ -2007,6 +2148,7 @@ Thank you, | |||
2007 | <property name="skip_pager_hint">False</property> | 2148 | <property name="skip_pager_hint">False</property> |
2008 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> | 2149 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> |
2009 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> | 2150 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> |
2151 | <property name="focus_on_map">True</property> | ||
2010 | <property name="has_separator">True</property> | 2152 | <property name="has_separator">True</property> |
2011 | <accessibility> | 2153 | <accessibility> |
2012 | <atkproperty name="AtkObject::accessible_name" translatable="yes">Edit File Information</atkproperty> | 2154 | <atkproperty name="AtkObject::accessible_name" translatable="yes">Edit File Information</atkproperty> |
@@ -2101,6 +2243,10 @@ Thank you, | |||
2101 | <property name="yalign">0.5</property> | 2243 | <property name="yalign">0.5</property> |
2102 | <property name="xpad">9</property> | 2244 | <property name="xpad">9</property> |
2103 | <property name="ypad">5</property> | 2245 | <property name="ypad">5</property> |
2246 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2247 | <property name="width_chars">-1</property> | ||
2248 | <property name="single_line_mode">False</property> | ||
2249 | <property name="angle">0</property> | ||
2104 | </widget> | 2250 | </widget> |
2105 | <packing> | 2251 | <packing> |
2106 | <property name="padding">0</property> | 2252 | <property name="padding">0</property> |
@@ -2129,6 +2275,10 @@ Thank you, | |||
2129 | <property name="xpad">5</property> | 2275 | <property name="xpad">5</property> |
2130 | <property name="ypad">0</property> | 2276 | <property name="ypad">0</property> |
2131 | <property name="mnemonic_widget">optionmenu2</property> | 2277 | <property name="mnemonic_widget">optionmenu2</property> |
2278 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2279 | <property name="width_chars">-1</property> | ||
2280 | <property name="single_line_mode">False</property> | ||
2281 | <property name="angle">0</property> | ||
2132 | </widget> | 2282 | </widget> |
2133 | <packing> | 2283 | <packing> |
2134 | <property name="padding">0</property> | 2284 | <property name="padding">0</property> |
@@ -2179,6 +2329,10 @@ Thank you, | |||
2179 | <property name="xpad">5</property> | 2329 | <property name="xpad">5</property> |
2180 | <property name="ypad">0</property> | 2330 | <property name="ypad">0</property> |
2181 | <property name="mnemonic_widget">metaDataDialogValueEntry</property> | 2331 | <property name="mnemonic_widget">metaDataDialogValueEntry</property> |
2332 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2333 | <property name="width_chars">-1</property> | ||
2334 | <property name="single_line_mode">False</property> | ||
2335 | <property name="angle">0</property> | ||
2182 | </widget> | 2336 | </widget> |
2183 | <packing> | 2337 | <packing> |
2184 | <property name="padding">0</property> | 2338 | <property name="padding">0</property> |
@@ -2246,6 +2400,9 @@ Press ENTER to add the data.</atkproperty> | |||
2246 | <property name="rules_hint">True</property> | 2400 | <property name="rules_hint">True</property> |
2247 | <property name="reorderable">False</property> | 2401 | <property name="reorderable">False</property> |
2248 | <property name="enable_search">True</property> | 2402 | <property name="enable_search">True</property> |
2403 | <property name="fixed_height_mode">False</property> | ||
2404 | <property name="hover_selection">False</property> | ||
2405 | <property name="hover_expand">False</property> | ||
2249 | <signal name="select_cursor_row" handler="on_metaDataDialogMetaDataList_select_cursor_row" object="metaDataDialog" last_modification_time="Mon, 23 May 2005 18:58:13 GMT"/> | 2406 | <signal name="select_cursor_row" handler="on_metaDataDialogMetaDataList_select_cursor_row" object="metaDataDialog" last_modification_time="Mon, 23 May 2005 18:58:13 GMT"/> |
2250 | </widget> | 2407 | </widget> |
2251 | </child> | 2408 | </child> |
@@ -2265,6 +2422,10 @@ Press ENTER to add the data.</atkproperty> | |||
2265 | <property name="yalign">0.5</property> | 2422 | <property name="yalign">0.5</property> |
2266 | <property name="xpad">0</property> | 2423 | <property name="xpad">0</property> |
2267 | <property name="ypad">0</property> | 2424 | <property name="ypad">0</property> |
2425 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2426 | <property name="width_chars">-1</property> | ||
2427 | <property name="single_line_mode">False</property> | ||
2428 | <property name="angle">0</property> | ||
2268 | </widget> | 2429 | </widget> |
2269 | <packing> | 2430 | <packing> |
2270 | <property name="type">label_item</property> | 2431 | <property name="type">label_item</property> |
@@ -2298,6 +2459,10 @@ Press ENTER to add the data.</atkproperty> | |||
2298 | <property name="xpad">5</property> | 2459 | <property name="xpad">5</property> |
2299 | <property name="ypad">0</property> | 2460 | <property name="ypad">0</property> |
2300 | <property name="mnemonic_widget">fileInformationKeywordEntry</property> | 2461 | <property name="mnemonic_widget">fileInformationKeywordEntry</property> |
2462 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2463 | <property name="width_chars">-1</property> | ||
2464 | <property name="single_line_mode">False</property> | ||
2465 | <property name="angle">0</property> | ||
2301 | </widget> | 2466 | </widget> |
2302 | <packing> | 2467 | <packing> |
2303 | <property name="padding">0</property> | 2468 | <property name="padding">0</property> |
@@ -2364,6 +2529,9 @@ Press ENTER to add the data.</atkproperty> | |||
2364 | <property name="rules_hint">True</property> | 2529 | <property name="rules_hint">True</property> |
2365 | <property name="reorderable">False</property> | 2530 | <property name="reorderable">False</property> |
2366 | <property name="enable_search">True</property> | 2531 | <property name="enable_search">True</property> |
2532 | <property name="fixed_height_mode">False</property> | ||
2533 | <property name="hover_selection">False</property> | ||
2534 | <property name="hover_expand">False</property> | ||
2367 | <signal name="select_cursor_row" handler="on_metaDataDialogKeywordList_select_cursor_row" object="metaDataDialog" last_modification_time="Mon, 23 May 2005 18:58:34 GMT"/> | 2535 | <signal name="select_cursor_row" handler="on_metaDataDialogKeywordList_select_cursor_row" object="metaDataDialog" last_modification_time="Mon, 23 May 2005 18:58:34 GMT"/> |
2368 | </widget> | 2536 | </widget> |
2369 | </child> | 2537 | </child> |
@@ -2383,6 +2551,10 @@ Press ENTER to add the data.</atkproperty> | |||
2383 | <property name="yalign">0.5</property> | 2551 | <property name="yalign">0.5</property> |
2384 | <property name="xpad">0</property> | 2552 | <property name="xpad">0</property> |
2385 | <property name="ypad">0</property> | 2553 | <property name="ypad">0</property> |
2554 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2555 | <property name="width_chars">-1</property> | ||
2556 | <property name="single_line_mode">False</property> | ||
2557 | <property name="angle">0</property> | ||
2386 | </widget> | 2558 | </widget> |
2387 | <packing> | 2559 | <packing> |
2388 | <property name="type">label_item</property> | 2560 | <property name="type">label_item</property> |
@@ -2413,6 +2585,7 @@ Press ENTER to add the data.</atkproperty> | |||
2413 | <property name="skip_pager_hint">False</property> | 2585 | <property name="skip_pager_hint">False</property> |
2414 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> | 2586 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> |
2415 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> | 2587 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> |
2588 | <property name="focus_on_map">True</property> | ||
2416 | <property name="has_separator">True</property> | 2589 | <property name="has_separator">True</property> |
2417 | 2590 | ||
2418 | <child internal-child="vbox"> | 2591 | <child internal-child="vbox"> |
@@ -2474,6 +2647,9 @@ Press ENTER to add the data.</atkproperty> | |||
2474 | <property name="rules_hint">False</property> | 2647 | <property name="rules_hint">False</property> |
2475 | <property name="reorderable">False</property> | 2648 | <property name="reorderable">False</property> |
2476 | <property name="enable_search">True</property> | 2649 | <property name="enable_search">True</property> |
2650 | <property name="fixed_height_mode">False</property> | ||
2651 | <property name="hover_selection">False</property> | ||
2652 | <property name="hover_expand">False</property> | ||
2477 | </widget> | 2653 | </widget> |
2478 | </child> | 2654 | </child> |
2479 | </widget> | 2655 | </widget> |
@@ -2492,6 +2668,10 @@ Press ENTER to add the data.</atkproperty> | |||
2492 | <property name="yalign">0.5</property> | 2668 | <property name="yalign">0.5</property> |
2493 | <property name="xpad">0</property> | 2669 | <property name="xpad">0</property> |
2494 | <property name="ypad">0</property> | 2670 | <property name="ypad">0</property> |
2671 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2672 | <property name="width_chars">-1</property> | ||
2673 | <property name="single_line_mode">False</property> | ||
2674 | <property name="angle">0</property> | ||
2495 | </widget> | 2675 | </widget> |
2496 | <packing> | 2676 | <packing> |
2497 | <property name="type">label_item</property> | 2677 | <property name="type">label_item</property> |
@@ -2509,7 +2689,6 @@ Press ENTER to add the data.</atkproperty> | |||
2509 | </widget> | 2689 | </widget> |
2510 | 2690 | ||
2511 | <widget class="GtkWindow" id="searchResultsFrame"> | 2691 | <widget class="GtkWindow" id="searchResultsFrame"> |
2512 | <property name="visible">True</property> | ||
2513 | <property name="title" translatable="yes">Search Results</property> | 2692 | <property name="title" translatable="yes">Search Results</property> |
2514 | <property name="type">GTK_WINDOW_TOPLEVEL</property> | 2693 | <property name="type">GTK_WINDOW_TOPLEVEL</property> |
2515 | <property name="window_position">GTK_WIN_POS_NONE</property> | 2694 | <property name="window_position">GTK_WIN_POS_NONE</property> |
@@ -2521,6 +2700,7 @@ Press ENTER to add the data.</atkproperty> | |||
2521 | <property name="skip_pager_hint">False</property> | 2700 | <property name="skip_pager_hint">False</property> |
2522 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> | 2701 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> |
2523 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> | 2702 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> |
2703 | <property name="focus_on_map">True</property> | ||
2524 | 2704 | ||
2525 | <child> | 2705 | <child> |
2526 | <widget class="GtkScrolledWindow" id="searchPageScrolledWindow"> | 2706 | <widget class="GtkScrolledWindow" id="searchPageScrolledWindow"> |
@@ -2531,7 +2711,6 @@ Press ENTER to add the data.</atkproperty> | |||
2531 | <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> | 2711 | <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> |
2532 | <property name="shadow_type">GTK_SHADOW_NONE</property> | 2712 | <property name="shadow_type">GTK_SHADOW_NONE</property> |
2533 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> | 2713 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> |
2534 | <signal name="destroy" handler="on_searchPageScrolledWindow_destroy" object="searchPageScrolledWindow" last_modification_time="Thu, 26 May 2005 22:41:04 GMT"/> | ||
2535 | 2714 | ||
2536 | <child> | 2715 | <child> |
2537 | <widget class="GtkViewport" id="viewport5"> | 2716 | <widget class="GtkViewport" id="viewport5"> |
@@ -2548,8 +2727,8 @@ Press ENTER to add the data.</atkproperty> | |||
2548 | <widget class="GtkScrolledWindow" id="scrolledwindow15"> | 2727 | <widget class="GtkScrolledWindow" id="scrolledwindow15"> |
2549 | <property name="visible">True</property> | 2728 | <property name="visible">True</property> |
2550 | <property name="can_focus">True</property> | 2729 | <property name="can_focus">True</property> |
2551 | <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> | 2730 | <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> |
2552 | <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> | 2731 | <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> |
2553 | <property name="shadow_type">GTK_SHADOW_IN</property> | 2732 | <property name="shadow_type">GTK_SHADOW_IN</property> |
2554 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> | 2733 | <property name="window_placement">GTK_CORNER_TOP_LEFT</property> |
2555 | 2734 | ||
@@ -2562,6 +2741,10 @@ Press ENTER to add the data.</atkproperty> | |||
2562 | <property name="rules_hint">False</property> | 2741 | <property name="rules_hint">False</property> |
2563 | <property name="reorderable">False</property> | 2742 | <property name="reorderable">False</property> |
2564 | <property name="enable_search">True</property> | 2743 | <property name="enable_search">True</property> |
2744 | <property name="fixed_height_mode">False</property> | ||
2745 | <property name="hover_selection">False</property> | ||
2746 | <property name="hover_expand">False</property> | ||
2747 | <signal name="destroy" handler="on_searchResults_destroy" object="searchResults" last_modification_time="Sat, 28 May 2005 13:55:09 GMT"/> | ||
2565 | </widget> | 2748 | </widget> |
2566 | </child> | 2749 | </child> |
2567 | </widget> | 2750 | </widget> |
@@ -2573,23 +2756,24 @@ Press ENTER to add the data.</atkproperty> | |||
2573 | </child> | 2756 | </child> |
2574 | 2757 | ||
2575 | <child> | 2758 | <child> |
2576 | <widget class="GtkButton" id="downloadButton"> | 2759 | <widget class="GtkHBox" id="hbox23"> |
2577 | <property name="visible">True</property> | 2760 | <property name="visible">True</property> |
2578 | <property name="can_focus">True</property> | 2761 | <property name="homogeneous">False</property> |
2579 | <property name="relief">GTK_RELIEF_NORMAL</property> | 2762 | <property name="spacing">0</property> |
2580 | <property name="focus_on_click">True</property> | ||
2581 | <signal name="clicked" handler="on_downloadButton_clicked" object="searchResults" last_modification_time="Mon, 23 May 2005 18:59:36 GMT"/> | ||
2582 | <signal name="activate" handler="on_downloadButton_clicked" object="searchResults" last_modification_time="Thu, 26 May 2005 09:26:15 GMT"/> | ||
2583 | <accelerator key="Return" modifiers="GDK_CONTROL_MASK" signal="activate"/> | ||
2584 | 2763 | ||
2585 | <child> | 2764 | <child> |
2586 | <widget class="GtkHBox" id="hbox23"> | 2765 | <widget class="GtkButton" id="downloadButton"> |
2587 | <property name="visible">True</property> | 2766 | <property name="visible">True</property> |
2588 | <property name="homogeneous">False</property> | 2767 | <property name="tooltip" translatable="yes">Download selected files.</property> |
2589 | <property name="spacing">0</property> | 2768 | <property name="can_focus">True</property> |
2769 | <property name="relief">GTK_RELIEF_NORMAL</property> | ||
2770 | <property name="focus_on_click">True</property> | ||
2771 | <signal name="clicked" handler="on_downloadButton_clicked" object="searchResults" last_modification_time="Mon, 23 May 2005 18:59:36 GMT"/> | ||
2772 | <signal name="activate" handler="on_downloadButton_clicked" object="searchResults" last_modification_time="Thu, 26 May 2005 09:26:15 GMT"/> | ||
2773 | <accelerator key="Return" modifiers="GDK_CONTROL_MASK" signal="activate"/> | ||
2590 | 2774 | ||
2591 | <child> | 2775 | <child> |
2592 | <widget class="GtkAlignment" id="alignment3"> | 2776 | <widget class="GtkAlignment" id="alignment10"> |
2593 | <property name="visible">True</property> | 2777 | <property name="visible">True</property> |
2594 | <property name="xalign">0.5</property> | 2778 | <property name="xalign">0.5</property> |
2595 | <property name="yalign">0.5</property> | 2779 | <property name="yalign">0.5</property> |
@@ -2601,13 +2785,13 @@ Press ENTER to add the data.</atkproperty> | |||
2601 | <property name="right_padding">0</property> | 2785 | <property name="right_padding">0</property> |
2602 | 2786 | ||
2603 | <child> | 2787 | <child> |
2604 | <widget class="GtkHBox" id="hbox13"> | 2788 | <widget class="GtkHBox" id="hbox23"> |
2605 | <property name="visible">True</property> | 2789 | <property name="visible">True</property> |
2606 | <property name="homogeneous">False</property> | 2790 | <property name="homogeneous">False</property> |
2607 | <property name="spacing">2</property> | 2791 | <property name="spacing">2</property> |
2608 | 2792 | ||
2609 | <child> | 2793 | <child> |
2610 | <widget class="GtkImage" id="image3"> | 2794 | <widget class="GtkImage" id="image10"> |
2611 | <property name="visible">True</property> | 2795 | <property name="visible">True</property> |
2612 | <property name="stock">gtk-copy</property> | 2796 | <property name="stock">gtk-copy</property> |
2613 | <property name="icon_size">4</property> | 2797 | <property name="icon_size">4</property> |
@@ -2624,7 +2808,7 @@ Press ENTER to add the data.</atkproperty> | |||
2624 | </child> | 2808 | </child> |
2625 | 2809 | ||
2626 | <child> | 2810 | <child> |
2627 | <widget class="GtkLabel" id="label65"> | 2811 | <widget class="GtkLabel" id="label76"> |
2628 | <property name="visible">True</property> | 2812 | <property name="visible">True</property> |
2629 | <property name="label" translatable="yes">_Download</property> | 2813 | <property name="label" translatable="yes">_Download</property> |
2630 | <property name="use_underline">True</property> | 2814 | <property name="use_underline">True</property> |
@@ -2636,6 +2820,10 @@ Press ENTER to add the data.</atkproperty> | |||
2636 | <property name="yalign">0.5</property> | 2820 | <property name="yalign">0.5</property> |
2637 | <property name="xpad">0</property> | 2821 | <property name="xpad">0</property> |
2638 | <property name="ypad">0</property> | 2822 | <property name="ypad">0</property> |
2823 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2824 | <property name="width_chars">-1</property> | ||
2825 | <property name="single_line_mode">False</property> | ||
2826 | <property name="angle">0</property> | ||
2639 | </widget> | 2827 | </widget> |
2640 | <packing> | 2828 | <packing> |
2641 | <property name="padding">0</property> | 2829 | <property name="padding">0</property> |
@@ -2646,30 +2834,33 @@ Press ENTER to add the data.</atkproperty> | |||
2646 | </widget> | 2834 | </widget> |
2647 | </child> | 2835 | </child> |
2648 | </widget> | 2836 | </widget> |
2649 | <packing> | ||
2650 | <property name="padding">0</property> | ||
2651 | <property name="expand">True</property> | ||
2652 | <property name="fill">True</property> | ||
2653 | </packing> | ||
2654 | </child> | 2837 | </child> |
2838 | </widget> | ||
2839 | <packing> | ||
2840 | <property name="padding">0</property> | ||
2841 | <property name="expand">True</property> | ||
2842 | <property name="fill">True</property> | ||
2843 | </packing> | ||
2844 | </child> | ||
2655 | 2845 | ||
2656 | <child> | 2846 | <child> |
2657 | <widget class="GtkButton" id="closeSearchButton"> | 2847 | <widget class="GtkButton" id="closeSearchButton"> |
2658 | <property name="visible">True</property> | 2848 | <property name="visible">True</property> |
2659 | <property name="can_focus">True</property> | 2849 | <property name="tooltip" translatable="yes">Close this search.</property> |
2660 | <property name="label">gtk-close</property> | 2850 | <property name="can_focus">True</property> |
2661 | <property name="use_stock">True</property> | 2851 | <property name="label">gtk-close</property> |
2662 | <property name="relief">GTK_RELIEF_NORMAL</property> | 2852 | <property name="use_stock">True</property> |
2663 | <property name="focus_on_click">True</property> | 2853 | <property name="relief">GTK_RELIEF_NORMAL</property> |
2664 | <signal name="clicked" handler="on_closeSearchButton_clicked" object="searchPageScrolledWindow" last_modification_time="Thu, 26 May 2005 22:42:37 GMT"/> | 2854 | <property name="focus_on_click">True</property> |
2665 | </widget> | 2855 | <signal name="clicked" handler="on_closeSearchButton_clicked" object="searchPageScrolledWindow" last_modification_time="Thu, 26 May 2005 22:42:37 GMT"/> |
2666 | <packing> | 2856 | <signal name="activate" handler="on_closeSearchButton_clicked" object="searchPageScrolledWindow" last_modification_time="Fri, 27 May 2005 13:14:33 GMT"/> |
2667 | <property name="padding">0</property> | 2857 | <accelerator key="Escape" modifiers="0" signal="activate"/> |
2668 | <property name="expand">True</property> | ||
2669 | <property name="fill">True</property> | ||
2670 | </packing> | ||
2671 | </child> | ||
2672 | </widget> | 2858 | </widget> |
2859 | <packing> | ||
2860 | <property name="padding">0</property> | ||
2861 | <property name="expand">True</property> | ||
2862 | <property name="fill">True</property> | ||
2863 | </packing> | ||
2673 | </child> | 2864 | </child> |
2674 | </widget> | 2865 | </widget> |
2675 | <packing> | 2866 | <packing> |
@@ -2687,7 +2878,6 @@ Press ENTER to add the data.</atkproperty> | |||
2687 | </widget> | 2878 | </widget> |
2688 | 2879 | ||
2689 | <widget class="GtkWindow" id="namespaceContentFrame"> | 2880 | <widget class="GtkWindow" id="namespaceContentFrame"> |
2690 | <property name="visible">True</property> | ||
2691 | <property name="title" translatable="yes">Namespace Contents</property> | 2881 | <property name="title" translatable="yes">Namespace Contents</property> |
2692 | <property name="type">GTK_WINDOW_TOPLEVEL</property> | 2882 | <property name="type">GTK_WINDOW_TOPLEVEL</property> |
2693 | <property name="window_position">GTK_WIN_POS_NONE</property> | 2883 | <property name="window_position">GTK_WIN_POS_NONE</property> |
@@ -2699,6 +2889,7 @@ Press ENTER to add the data.</atkproperty> | |||
2699 | <property name="skip_pager_hint">False</property> | 2889 | <property name="skip_pager_hint">False</property> |
2700 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> | 2890 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> |
2701 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> | 2891 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> |
2892 | <property name="focus_on_map">True</property> | ||
2702 | 2893 | ||
2703 | <child> | 2894 | <child> |
2704 | <widget class="GtkVBox" id="vbox12"> | 2895 | <widget class="GtkVBox" id="vbox12"> |
@@ -2724,6 +2915,9 @@ Press ENTER to add the data.</atkproperty> | |||
2724 | <property name="rules_hint">False</property> | 2915 | <property name="rules_hint">False</property> |
2725 | <property name="reorderable">False</property> | 2916 | <property name="reorderable">False</property> |
2726 | <property name="enable_search">True</property> | 2917 | <property name="enable_search">True</property> |
2918 | <property name="fixed_height_mode">False</property> | ||
2919 | <property name="hover_selection">False</property> | ||
2920 | <property name="hover_expand">False</property> | ||
2727 | <signal name="select_cursor_row" handler="on_namespaceContentFrameTreeView_select_cursor_row" object="namespaceContentFrame" last_modification_time="Mon, 23 May 2005 19:02:36 GMT"/> | 2921 | <signal name="select_cursor_row" handler="on_namespaceContentFrameTreeView_select_cursor_row" object="namespaceContentFrame" last_modification_time="Mon, 23 May 2005 19:02:36 GMT"/> |
2728 | </widget> | 2922 | </widget> |
2729 | </child> | 2923 | </child> |
@@ -2797,6 +2991,10 @@ Press ENTER to add the data.</atkproperty> | |||
2797 | <property name="yalign">0.5</property> | 2991 | <property name="yalign">0.5</property> |
2798 | <property name="xpad">0</property> | 2992 | <property name="xpad">0</property> |
2799 | <property name="ypad">0</property> | 2993 | <property name="ypad">0</property> |
2994 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
2995 | <property name="width_chars">-1</property> | ||
2996 | <property name="single_line_mode">False</property> | ||
2997 | <property name="angle">0</property> | ||
2800 | </widget> | 2998 | </widget> |
2801 | <packing> | 2999 | <packing> |
2802 | <property name="padding">0</property> | 3000 | <property name="padding">0</property> |
@@ -2874,6 +3072,10 @@ Press ENTER to add the data.</atkproperty> | |||
2874 | <property name="yalign">0.5</property> | 3072 | <property name="yalign">0.5</property> |
2875 | <property name="xpad">0</property> | 3073 | <property name="xpad">0</property> |
2876 | <property name="ypad">0</property> | 3074 | <property name="ypad">0</property> |
3075 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
3076 | <property name="width_chars">-1</property> | ||
3077 | <property name="single_line_mode">False</property> | ||
3078 | <property name="angle">0</property> | ||
2877 | </widget> | 3079 | </widget> |
2878 | <packing> | 3080 | <packing> |
2879 | <property name="padding">0</property> | 3081 | <property name="padding">0</property> |
@@ -2904,7 +3106,6 @@ Press ENTER to add the data.</atkproperty> | |||
2904 | </widget> | 3106 | </widget> |
2905 | 3107 | ||
2906 | <widget class="GtkWindow" id="chatFrame"> | 3108 | <widget class="GtkWindow" id="chatFrame"> |
2907 | <property name="visible">True</property> | ||
2908 | <property name="title" translatable="yes">Chat</property> | 3109 | <property name="title" translatable="yes">Chat</property> |
2909 | <property name="type">GTK_WINDOW_TOPLEVEL</property> | 3110 | <property name="type">GTK_WINDOW_TOPLEVEL</property> |
2910 | <property name="window_position">GTK_WIN_POS_NONE</property> | 3111 | <property name="window_position">GTK_WIN_POS_NONE</property> |
@@ -2916,6 +3117,7 @@ Press ENTER to add the data.</atkproperty> | |||
2916 | <property name="skip_pager_hint">False</property> | 3117 | <property name="skip_pager_hint">False</property> |
2917 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> | 3118 | <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> |
2918 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> | 3119 | <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> |
3120 | <property name="focus_on_map">True</property> | ||
2919 | 3121 | ||
2920 | <child> | 3122 | <child> |
2921 | <widget class="GtkHBox" id="hbox17"> | 3123 | <widget class="GtkHBox" id="hbox17"> |
@@ -2943,12 +3145,12 @@ Press ENTER to add the data.</atkproperty> | |||
2943 | <property agent="glademm" name="cxx_visibility">public</property> | 3145 | <property agent="glademm" name="cxx_visibility">public</property> |
2944 | <property name="visible">True</property> | 3146 | <property name="visible">True</property> |
2945 | <property name="can_focus">True</property> | 3147 | <property name="can_focus">True</property> |
2946 | <property name="editable">True</property> | 3148 | <property name="editable">False</property> |
2947 | <property name="overwrite">False</property> | 3149 | <property name="overwrite">False</property> |
2948 | <property name="accepts_tab">True</property> | 3150 | <property name="accepts_tab">False</property> |
2949 | <property name="justification">GTK_JUSTIFY_LEFT</property> | 3151 | <property name="justification">GTK_JUSTIFY_LEFT</property> |
2950 | <property name="wrap_mode">GTK_WRAP_NONE</property> | 3152 | <property name="wrap_mode">GTK_WRAP_WORD</property> |
2951 | <property name="cursor_visible">True</property> | 3153 | <property name="cursor_visible">False</property> |
2952 | <property name="pixels_above_lines">0</property> | 3154 | <property name="pixels_above_lines">0</property> |
2953 | <property name="pixels_below_lines">0</property> | 3155 | <property name="pixels_below_lines">0</property> |
2954 | <property name="pixels_inside_wrap">0</property> | 3156 | <property name="pixels_inside_wrap">0</property> |
@@ -2976,7 +3178,14 @@ Press ENTER to add the data.</atkproperty> | |||
2976 | <widget class="GtkComboBoxEntry" id="chatLineTextEntry"> | 3178 | <widget class="GtkComboBoxEntry" id="chatLineTextEntry"> |
2977 | <property agent="glademm" name="cxx_visibility">public</property> | 3179 | <property agent="glademm" name="cxx_visibility">public</property> |
2978 | <property name="visible">True</property> | 3180 | <property name="visible">True</property> |
2979 | <property name="items" translatable="yes">/join #gnunet</property> | 3181 | <property name="can_default">True</property> |
3182 | <property name="has_default">True</property> | ||
3183 | <property name="can_focus">True</property> | ||
3184 | <property name="has_focus">True</property> | ||
3185 | <property name="items" translatable="yes">Hello!</property> | ||
3186 | <property name="add_tearoffs">False</property> | ||
3187 | <property name="has_frame">True</property> | ||
3188 | <property name="focus_on_click">False</property> | ||
2980 | <signal name="editing_done" handler="on_chatLineTextEntry_editing_done" last_modification_time="Mon, 23 May 2005 17:18:48 GMT"/> | 3189 | <signal name="editing_done" handler="on_chatLineTextEntry_editing_done" last_modification_time="Mon, 23 May 2005 17:18:48 GMT"/> |
2981 | </widget> | 3190 | </widget> |
2982 | <packing> | 3191 | <packing> |
@@ -3044,6 +3253,10 @@ Press ENTER to add the data.</atkproperty> | |||
3044 | <property name="yalign">0.5</property> | 3253 | <property name="yalign">0.5</property> |
3045 | <property name="xpad">0</property> | 3254 | <property name="xpad">0</property> |
3046 | <property name="ypad">0</property> | 3255 | <property name="ypad">0</property> |
3256 | <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> | ||
3257 | <property name="width_chars">-1</property> | ||
3258 | <property name="single_line_mode">False</property> | ||
3259 | <property name="angle">0</property> | ||
3047 | </widget> | 3260 | </widget> |
3048 | <packing> | 3261 | <packing> |
3049 | <property name="padding">0</property> | 3262 | <property name="padding">0</property> |
@@ -3095,6 +3308,9 @@ Press ENTER to add the data.</atkproperty> | |||
3095 | <property name="rules_hint">False</property> | 3308 | <property name="rules_hint">False</property> |
3096 | <property name="reorderable">False</property> | 3309 | <property name="reorderable">False</property> |
3097 | <property name="enable_search">True</property> | 3310 | <property name="enable_search">True</property> |
3311 | <property name="fixed_height_mode">False</property> | ||
3312 | <property name="hover_selection">False</property> | ||
3313 | <property name="hover_expand">False</property> | ||
3098 | </widget> | 3314 | </widget> |
3099 | </child> | 3315 | </child> |
3100 | </widget> | 3316 | </widget> |
@@ -3108,4 +3324,331 @@ Press ENTER to add the data.</atkproperty> | |||
3108 | </child> | 3324 | </child> |
3109 | </widget> | 3325 | </widget> |
3110 | 3326 | ||
3327 | <widget class="GtkAboutDialog" id="aboutDialog"> | ||
3328 | <property agent="glademm" name="cxx_visibility">public</property> | ||
3329 | <property name="visible">True</property> | ||
3330 | <property name="destroy_with_parent">False</property> | ||
3331 | <property name="name" translatable="yes">gnunet-gtk</property> | ||
3332 | <property name="copyright" translatable="yes">(C) 2001-2005 Christian Grothoff (and other contributing authors)</property> | ||
3333 | <property name="license" translatable="yes"> GNU GENERAL PUBLIC LICENSE | ||
3334 | Version 2, June 1991 | ||
3335 | |||
3336 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | ||
3337 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
3338 | Everyone is permitted to copy and distribute verbatim copies | ||
3339 | of this license document, but changing it is not allowed. | ||
3340 | |||
3341 | Preamble | ||
3342 | |||
3343 | The licenses for most software are designed to take away your | ||
3344 | freedom to share and change it. By contrast, the GNU General Public | ||
3345 | License is intended to guarantee your freedom to share and change free | ||
3346 | software--to make sure the software is free for all its users. This | ||
3347 | General Public License applies to most of the Free Software | ||
3348 | Foundation's software and to any other program whose authors commit to | ||
3349 | using it. (Some other Free Software Foundation software is covered by | ||
3350 | the GNU Library General Public License instead.) You can apply it to | ||
3351 | your programs, too. | ||
3352 | |||
3353 | When we speak of free software, we are referring to freedom, not | ||
3354 | price. Our General Public Licenses are designed to make sure that you | ||
3355 | have the freedom to distribute copies of free software (and charge for | ||
3356 | this service if you wish), that you receive source code or can get it | ||
3357 | if you want it, that you can change the software or use pieces of it | ||
3358 | in new free programs; and that you know you can do these things. | ||
3359 | |||
3360 | To protect your rights, we need to make restrictions that forbid | ||
3361 | anyone to deny you these rights or to ask you to surrender the rights. | ||
3362 | These restrictions translate to certain responsibilities for you if you | ||
3363 | distribute copies of the software, or if you modify it. | ||
3364 | |||
3365 | For example, if you distribute copies of such a program, whether | ||
3366 | gratis or for a fee, you must give the recipients all the rights that | ||
3367 | you have. You must make sure that they, too, receive or can get the | ||
3368 | source code. And you must show them these terms so they know their | ||
3369 | rights. | ||
3370 | |||
3371 | We protect your rights with two steps: (1) copyright the software, and | ||
3372 | (2) offer you this license which gives you legal permission to copy, | ||
3373 | distribute and/or modify the software. | ||
3374 | |||
3375 | Also, for each author's protection and ours, we want to make certain | ||
3376 | that everyone understands that there is no warranty for this free | ||
3377 | software. If the software is modified by someone else and passed on, we | ||
3378 | want its recipients to know that what they have is not the original, so | ||
3379 | that any problems introduced by others will not reflect on the original | ||
3380 | authors' reputations. | ||
3381 | |||
3382 | Finally, any free program is threatened constantly by software | ||
3383 | patents. We wish to avoid the danger that redistributors of a free | ||
3384 | program will individually obtain patent licenses, in effect making the | ||
3385 | program proprietary. To prevent this, we have made it clear that any | ||
3386 | patent must be licensed for everyone's free use or not licensed at all. | ||
3387 | |||
3388 | The precise terms and conditions for copying, distribution and | ||
3389 | modification follow. | ||
3390 | |||
3391 | GNU GENERAL PUBLIC LICENSE | ||
3392 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
3393 | |||
3394 | 0. This License applies to any program or other work which contains | ||
3395 | a notice placed by the copyright holder saying it may be distributed | ||
3396 | under the terms of this General Public License. The "Program", below, | ||
3397 | refers to any such program or work, and a "work based on the Program" | ||
3398 | means either the Program or any derivative work under copyright law: | ||
3399 | that is to say, a work containing the Program or a portion of it, | ||
3400 | either verbatim or with modifications and/or translated into another | ||
3401 | language. (Hereinafter, translation is included without limitation in | ||
3402 | the term "modification".) Each licensee is addressed as "you". | ||
3403 | |||
3404 | Activities other than copying, distribution and modification are not | ||
3405 | covered by this License; they are outside its scope. The act of | ||
3406 | running the Program is not restricted, and the output from the Program | ||
3407 | is covered only if its contents constitute a work based on the | ||
3408 | Program (independent of having been made by running the Program). | ||
3409 | Whether that is true depends on what the Program does. | ||
3410 | |||
3411 | 1. You may copy and distribute verbatim copies of the Program's | ||
3412 | source code as you receive it, in any medium, provided that you | ||
3413 | conspicuously and appropriately publish on each copy an appropriate | ||
3414 | copyright notice and disclaimer of warranty; keep intact all the | ||
3415 | notices that refer to this License and to the absence of any warranty; | ||
3416 | and give any other recipients of the Program a copy of this License | ||
3417 | along with the Program. | ||
3418 | |||
3419 | You may charge a fee for the physical act of transferring a copy, and | ||
3420 | you may at your option offer warranty protection in exchange for a fee. | ||
3421 | |||
3422 | 2. You may modify your copy or copies of the Program or any portion | ||
3423 | of it, thus forming a work based on the Program, and copy and | ||
3424 | distribute such modifications or work under the terms of Section 1 | ||
3425 | above, provided that you also meet all of these conditions: | ||
3426 | |||
3427 | a) You must cause the modified files to carry prominent notices | ||
3428 | stating that you changed the files and the date of any change. | ||
3429 | |||
3430 | b) You must cause any work that you distribute or publish, that in | ||
3431 | whole or in part contains or is derived from the Program or any | ||
3432 | part thereof, to be licensed as a whole at no charge to all third | ||
3433 | parties under the terms of this License. | ||
3434 | |||
3435 | c) If the modified program normally reads commands interactively | ||
3436 | when run, you must cause it, when started running for such | ||
3437 | interactive use in the most ordinary way, to print or display an | ||
3438 | announcement including an appropriate copyright notice and a | ||
3439 | |||
3440 | notice that there is no warranty (or else, saying that you provide | ||
3441 | a warranty) and that users may redistribute the program under | ||
3442 | these conditions, and telling the user how to view a copy of this | ||
3443 | License. (Exception: if the Program itself is interactive but | ||
3444 | does not normally print such an announcement, your work based on | ||
3445 | the Program is not required to print an announcement.) | ||
3446 | |||
3447 | These requirements apply to the modified work as a whole. If | ||
3448 | identifiable sections of that work are not derived from the Program, | ||
3449 | and can be reasonably considered independent and separate works in | ||
3450 | themselves, then this License, and its terms, do not apply to those | ||
3451 | sections when you distribute them as separate works. But when you | ||
3452 | distribute the same sections as part of a whole which is a work based | ||
3453 | on the Program, the distribution of the whole must be on the terms of | ||
3454 | this License, whose permissions for other licensees extend to the | ||
3455 | entire whole, and thus to each and every part regardless of who wrote it. | ||
3456 | |||
3457 | Thus, it is not the intent of this section to claim rights or contest | ||
3458 | your rights to work written entirely by you; rather, the intent is to | ||
3459 | exercise the right to control the distribution of derivative or | ||
3460 | collective works based on the Program. | ||
3461 | |||
3462 | In addition, mere aggregation of another work not based on the Program | ||
3463 | with the Program (or with a work based on the Program) on a volume of | ||
3464 | a storage or distribution medium does not bring the other work under | ||
3465 | the scope of this License. | ||
3466 | |||
3467 | 3. You may copy and distribute the Program (or a work based on it, | ||
3468 | under Section 2) in object code or executable form under the terms of | ||
3469 | Sections 1 and 2 above provided that you also do one of the following: | ||
3470 | |||
3471 | a) Accompany it with the complete corresponding machine-readable | ||
3472 | source code, which must be distributed under the terms of Sections | ||
3473 | 1 and 2 above on a medium customarily used for software interchange; or, | ||
3474 | |||
3475 | b) Accompany it with a written offer, valid for at least three | ||
3476 | years, to give any third party, for a charge no more than your | ||
3477 | cost of physically performing source distribution, a complete | ||
3478 | machine-readable copy of the corresponding source code, to be | ||
3479 | distributed under the terms of Sections 1 and 2 above on a medium | ||
3480 | customarily used for software interchange; or, | ||
3481 | |||
3482 | c) Accompany it with the information you received as to the offer | ||
3483 | to distribute corresponding source code. (This alternative is | ||
3484 | allowed only for noncommercial distribution and only if you | ||
3485 | received the program in object code or executable form with such | ||
3486 | an offer, in accord with Subsection b above.) | ||
3487 | |||
3488 | The source code for a work means the preferred form of the work for | ||
3489 | making modifications to it. For an executable work, complete source | ||
3490 | code means all the source code for all modules it contains, plus any | ||
3491 | associated interface definition files, plus the scripts used to | ||
3492 | control compilation and installation of the executable. However, as a | ||
3493 | special exception, the source code distributed need not include | ||
3494 | anything that is normally distributed (in either source or binary | ||
3495 | form) with the major components (compiler, kernel, and so on) of the | ||
3496 | operating system on which the executable runs, unless that component | ||
3497 | itself accompanies the executable. | ||
3498 | |||
3499 | If distribution of executable or object code is made by offering | ||
3500 | access to copy from a designated place, then offering equivalent | ||
3501 | access to copy the source code from the same place counts as | ||
3502 | distribution of the source code, even though third parties are not | ||
3503 | compelled to copy the source along with the object code. | ||
3504 | |||
3505 | 4. You may not copy, modify, sublicense, or distribute the Program | ||
3506 | except as expressly provided under this License. Any attempt | ||
3507 | otherwise to copy, modify, sublicense or distribute the Program is | ||
3508 | void, and will automatically terminate your rights under this License. | ||
3509 | However, parties who have received copies, or rights, from you under | ||
3510 | this License will not have their licenses terminated so long as such | ||
3511 | parties remain in full compliance. | ||
3512 | |||
3513 | 5. You are not required to accept this License, since you have not | ||
3514 | signed it. However, nothing else grants you permission to modify or | ||
3515 | distribute the Program or its derivative works. These actions are | ||
3516 | prohibited by law if you do not accept this License. Therefore, by | ||
3517 | modifying or distributing the Program (or any work based on the | ||
3518 | Program), you indicate your acceptance of this License to do so, and | ||
3519 | all its terms and conditions for copying, distributing or modifying | ||
3520 | the Program or works based on it. | ||
3521 | |||
3522 | 6. Each time you redistribute the Program (or any work based on the | ||
3523 | Program), the recipient automatically receives a license from the | ||
3524 | original licensor to copy, distribute or modify the Program subject to | ||
3525 | these terms and conditions. You may not impose any further | ||
3526 | restrictions on the recipients' exercise of the rights granted herein. | ||
3527 | You are not responsible for enforcing compliance by third parties to | ||
3528 | this License. | ||
3529 | |||
3530 | 7. If, as a consequence of a court judgment or allegation of patent | ||
3531 | infringement or for any other reason (not limited to patent issues), | ||
3532 | conditions are imposed on you (whether by court order, agreement or | ||
3533 | otherwise) that contradict the conditions of this License, they do not | ||
3534 | excuse you from the conditions of this License. If you cannot | ||
3535 | distribute so as to satisfy simultaneously your obligations under this | ||
3536 | License and any other pertinent obligations, then as a consequence you | ||
3537 | may not distribute the Program at all. For example, if a patent | ||
3538 | license would not permit royalty-free redistribution of the Program by | ||
3539 | all those who receive copies directly or indirectly through you, then | ||
3540 | the only way you could satisfy both it and this License would be to | ||
3541 | refrain entirely from distribution of the Program. | ||
3542 | |||
3543 | If any portion of this section is held invalid or unenforceable under | ||
3544 | any particular circumstance, the balance of the section is intended to | ||
3545 | apply and the section as a whole is intended to apply in other | ||
3546 | circumstances. | ||
3547 | |||
3548 | It is not the purpose of this section to induce you to infringe any | ||
3549 | patents or other property right claims or to contest validity of any | ||
3550 | such claims; this section has the sole purpose of protecting the | ||
3551 | integrity of the free software distribution system, which is | ||
3552 | implemented by public license practices. Many people have made | ||
3553 | generous contributions to the wide range of software distributed | ||
3554 | through that system in reliance on consistent application of that | ||
3555 | system; it is up to the author/donor to decide if he or she is willing | ||
3556 | to distribute software through any other system and a licensee cannot | ||
3557 | impose that choice. | ||
3558 | |||
3559 | This section is intended to make thoroughly clear what is believed to | ||
3560 | be a consequence of the rest of this License. | ||
3561 | |||
3562 | 8. If the distribution and/or use of the Program is restricted in | ||
3563 | certain countries either by patents or by copyrighted interfaces, the | ||
3564 | original copyright holder who places the Program under this License | ||
3565 | may add an explicit geographical distribution limitation excluding | ||
3566 | those countries, so that distribution is permitted only in or among | ||
3567 | countries not thus excluded. In such case, this License incorporates | ||
3568 | the limitation as if written in the body of this License. | ||
3569 | |||
3570 | 9. The Free Software Foundation may publish revised and/or new versions | ||
3571 | of the General Public License from time to time. Such new versions will | ||
3572 | be similar in spirit to the present version, but may differ in detail to | ||
3573 | address new problems or concerns. | ||
3574 | |||
3575 | Each version is given a distinguishing version number. If the Program | ||
3576 | specifies a version number of this License which applies to it and "any | ||
3577 | later version", you have the option of following the terms and conditions | ||
3578 | either of that version or of any later version published by the Free | ||
3579 | Software Foundation. If the Program does not specify a version number of | ||
3580 | this License, you may choose any version ever published by the Free Software | ||
3581 | Foundation. | ||
3582 | |||
3583 | 10. If you wish to incorporate parts of the Program into other free | ||
3584 | programs whose distribution conditions are different, write to the author | ||
3585 | to ask for permission. For software which is copyrighted by the Free | ||
3586 | Software Foundation, write to the Free Software Foundation; we sometimes | ||
3587 | make exceptions for this. Our decision will be guided by the two goals | ||
3588 | of preserving the free status of all derivatives of our free software and | ||
3589 | of promoting the sharing and reuse of software generally. | ||
3590 | |||
3591 | NO WARRANTY | ||
3592 | |||
3593 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
3594 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
3595 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
3596 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
3597 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
3598 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
3599 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
3600 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
3601 | REPAIR OR CORRECTION. | ||
3602 | |||
3603 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
3604 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
3605 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
3606 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
3607 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
3608 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
3609 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
3610 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
3611 | POSSIBILITY OF SUCH DAMAGES. | ||
3612 | |||
3613 | END OF TERMS AND CONDITIONS | ||
3614 | </property> | ||
3615 | <property name="website">http://www.gnu.org/software/gnunet/</property> | ||
3616 | <property name="website_label" translatable="yes">GNUnet Website</property> | ||
3617 | <property name="authors">Juergen Appel <jappel@linux01.gwdg.de> | ||
3618 | Krista Bennett <kbennett@cerias.purdue.edu> | ||
3619 | James Blackwell <jblack@linuxguru.net> | ||
3620 | Ludovic Courtes <ludo@chbouib.org> | ||
3621 | Nils Durner <N.Durner@t-online.de> | ||
3622 | Renaldo Ferreira <rf@cs.purdue.edu> | ||
3623 | Christian Grothoff <christian@grothoff.org> | ||
3624 | Eric Haumant | ||
3625 | Tzvetan Horozov <horozov@motorola.com> | ||
3626 | Gerd Knorr <kraxel@bytesex.org> | ||
3627 | Werner Koch <libgcrypt@g10code.com> | ||
3628 | Uli Luckas <luckas@musoft.de> | ||
3629 | Blake Matheny <bmatheny@purdue.edu> | ||
3630 | Glenn McGrath <bug1@iinet.net.au> | ||
3631 | Hendrik Pagenhardt <Hendrik.Pagenhardt@gmx.net> | ||
3632 | Ioana Patrascu <ioanapatrascu@yahoo.com> | ||
3633 | Marko Raeihae | ||
3634 | Paul Ruth <ruth@cs.purdue.edu> | ||
3635 | Risto Saarelma | ||
3636 | Antti Salonen | ||
3637 | Tiberius Stef <tstef@cs.purdue.edu> | ||
3638 | Tuomas Toivonen | ||
3639 | Tomi Tukiainen | ||
3640 | Kevin Vandersloot <kfv101@psu.edu> | ||
3641 | Simo Viitanen | ||
3642 | Larry Waldo | ||
3643 | Igor Wronsky <iwronsky@users.sourceforge.net> | ||
3644 | <january@hushmail.com> | ||
3645 | </property> | ||
3646 | <property name="documenters">Christian Grothoff <christian@grothoff.org> | ||
3647 | Nils Durner <nils@gnunet.org></property> | ||
3648 | <property name="artists">Christian Muellner <chris@flop.de> | ||
3649 | Alex Jones <alexrjones@ntlworld.com></property> | ||
3650 | <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property> | ||
3651 | <property name="logo">gnunet_logo.png</property> | ||
3652 | </widget> | ||
3653 | |||
3111 | </glade-interface> | 3654 | </glade-interface> |
diff --git a/src/Makefile.am b/src/Makefile.am index 1f37d08e..55a697d2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am | |||
@@ -13,7 +13,6 @@ gnunet_gtk_SOURCES = \ | |||
13 | daemon.c daemon.h \ | 13 | daemon.c daemon.h \ |
14 | fs.c fs.h \ | 14 | fs.c fs.h \ |
15 | gettext.h \ | 15 | gettext.h \ |
16 | gtk26about.c gtk26about.h \ | ||
17 | helper.c helper.h \ | 16 | helper.c helper.h \ |
18 | main.c main.h \ | 17 | main.c main.h \ |
19 | platform.h plibc.h \ | 18 | platform.h plibc.h \ |
diff --git a/src/about.c b/src/about.c index bd41cbac..2a56256a 100644 --- a/src/about.c +++ b/src/about.c | |||
@@ -18,7 +18,7 @@ | |||
18 | */ | 18 | */ |
19 | 19 | ||
20 | /** | 20 | /** |
21 | * @file src/applications/afs/gtkui/about.c | 21 | * @file src/about.c |
22 | * @author Christian Grothoff | 22 | * @author Christian Grothoff |
23 | * @author Igor Wronsky | 23 | * @author Igor Wronsky |
24 | * | 24 | * |
@@ -26,100 +26,25 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | #include "config.h" | 28 | #include "config.h" |
29 | #include "gettext.h" | 29 | #include "main.h" |
30 | #include <gdk-pixbuf/gdk-pixbuf.h> | ||
31 | #include "gtk26about.h" | ||
32 | |||
33 | #include "helper.h" | ||
34 | 30 | ||
35 | /** | 31 | /** |
36 | * This displays an about window | 32 | * This displays an about window |
37 | * | ||
38 | * Todo: the GTK demo can do links. | ||
39 | */ | 33 | */ |
40 | void on_about_clicked(GtkWidget *dummy, | 34 | void on_about_clicked(GtkWidget *dummy, |
41 | gpointer data) { | 35 | gpointer data) { |
42 | const gchar * authors[] = { | 36 | GtkWidget * ad; |
43 | "Juergen Appel <jappel@linux01.gwdg.de>", | 37 | GladeXML * axml; |
44 | "Krista Bennett <kbennett@cerias.purdue.edu>", | 38 | |
45 | "James Blackwell <jblack@linuxguru.net>", | 39 | axml |
46 | "Ludovic Courtes <ludo@chbouib.org>", | 40 | = glade_xml_new(GLADE_FILE, |
47 | "Nils Durner <N.Durner@t-online.de>", | 41 | "aboutDialog", |
48 | "Renaldo Ferreira <rf@cs.purdue.edu>", | 42 | NULL); |
49 | "Christian Grothoff <christian@grothoff.org>", | 43 | ad |
50 | "Eric Haumant", | 44 | = glade_xml_get_widget(axml, |
51 | "Tzvetan Horozov <horozov@motorola.com>", | 45 | "aboutDialog"); |
52 | "Gerd Knorr <kraxel@bytesex.org>", | 46 | gtk_dialog_run(GTK_DIALOG(ad)); |
53 | "Werner Koch <libgcrypt@g10code.com>", | 47 | g_object_unref(axml); |
54 | "Uli Luckas <luckas@musoft.de>", | ||
55 | "Blake Matheny <bmatheny@purdue.edu>", | ||
56 | "Glenn McGrath <bug1@iinet.net.au>", | ||
57 | "Hendrik Pagenhardt <Hendrik.Pagenhardt@gmx.net>", | ||
58 | "Ioana Patrascu <ioanapatrascu@yahoo.com>", | ||
59 | "Marko Raeihae", | ||
60 | "Paul Ruth <ruth@cs.purdue.edu>", | ||
61 | "Risto Saarelma", | ||
62 | "Antti Salonen", | ||
63 | "Tiberius Stef <tstef@cs.purdue.edu>", | ||
64 | "Tuomas Toivonen", | ||
65 | "Tomi Tukiainen", | ||
66 | "Kevin Vandersloot <kfv101@psu.edu>", | ||
67 | "Simo Viitanen", | ||
68 | "Larry Waldo", | ||
69 | "Igor Wronsky <iwronsky@users.sourceforge.net>", | ||
70 | "<january@hushmail.com>", | ||
71 | NULL, | ||
72 | }; | ||
73 | const gchar * artists[] = { | ||
74 | "Christian Muellner <chris@flop.de>", | ||
75 | "Alex Jones <alexrjones@ntlworld.com>", | ||
76 | NULL, | ||
77 | }; | ||
78 | const char * trans = _("translator-credits"); | ||
79 | const char * license = "GNUnet is free software; you can redistribute it and/or modify\n" | ||
80 | "it under the terms of the GNU General Public License as published\n" | ||
81 | "by the Free Software Foundation; either version 2, or (at your\n" | ||
82 | "option) any later version.\n\n" | ||
83 | "GNUnet is distributed in the hope that it will be useful, but\n" | ||
84 | "WITHOUT ANY WARRANTY; without even the implied warranty of\n" | ||
85 | "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" | ||
86 | "See the GNU General Public License for more details.\n\n" | ||
87 | "You should have received a copy of the GNU General Public License\n" | ||
88 | "along with GNUnet; see the file COPYING. If not, write to the\n" | ||
89 | "Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n" | ||
90 | "Boston, MA 02111-1307, USA.\n"; | ||
91 | |||
92 | GdkPixbuf * logo; | ||
93 | GError * error; | ||
94 | |||
95 | error = NULL; | ||
96 | logo = gdk_pixbuf_new_from_file("gnunet_logo.png", | ||
97 | &error); | ||
98 | if (logo != NULL) { | ||
99 | gtk_show_about_dialog(NULL, | ||
100 | "logo", logo, | ||
101 | "name", "gnunet-gtk", | ||
102 | "version", VERSION, | ||
103 | "copyright" , "(C) 2001-2005 Christian Grothoff (and other contributing authors)", | ||
104 | "website", "http://www.gnu.org/software/gnunet/", | ||
105 | "license", license, | ||
106 | "authors", authors, | ||
107 | "artists", artists, | ||
108 | (0 == strcmp(trans,"translator-credits")) ? NULL : "translator_credits", trans, | ||
109 | NULL); | ||
110 | g_object_unref(G_OBJECT(logo)); | ||
111 | } else { | ||
112 | gtk_show_about_dialog(NULL, | ||
113 | "name", "gnunet-gtk", | ||
114 | "version", VERSION, | ||
115 | "copyright" , "(C) 2001-2005 Christian Grothoff (and other contributing authors)", | ||
116 | "website", "http://www.gnu.org/software/gnunet/", | ||
117 | "license", license, | ||
118 | "authors", authors, | ||
119 | "artists", artists, | ||
120 | (0 == strcmp(trans,"translator-credits")) ? NULL : "translator_credits", trans, | ||
121 | NULL); | ||
122 | } | ||
123 | } | 48 | } |
124 | 49 | ||
125 | /* end of about.c */ | 50 | /* end of about.c */ |
@@ -25,7 +25,7 @@ | |||
25 | */ | 25 | */ |
26 | 26 | ||
27 | #include "fs.h" | 27 | #include "fs.h" |
28 | 28 | #include "search.h" | |
29 | 29 | ||
30 | struct FSUI_Context * ctx; | 30 | struct FSUI_Context * ctx; |
31 | 31 | ||
diff --git a/src/gtk26about.c b/src/gtk26about.c deleted file mode 100644 index 9228caa2..00000000 --- a/src/gtk26about.c +++ /dev/null | |||
@@ -1,1846 +0,0 @@ | |||
1 | /* GTK - The GIMP Toolkit | ||
2 | * Copyright (C) 2001 CodeFactory AB | ||
3 | * Copyright (C) 2001, 2002 Anders Carlsson | ||
4 | * Copyright (C) 2003, 2004 Matthias Clasen <mclasen@redhat.com> | ||
5 | * | ||
6 | * This library is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU Library General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This library is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * Library General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU Library General Public | ||
17 | * License along with this library; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 02111-1307, USA. | ||
20 | */ | ||
21 | |||
22 | /* | ||
23 | * Author: Anders Carlsson <andersca@gnu.org> | ||
24 | * | ||
25 | * Modified by the GTK+ Team and others 1997-2004. See the AUTHORS | ||
26 | * file for a list of people on the GTK+ Team. See the ChangeLog | ||
27 | * files for a list of changes. These files are distributed with | ||
28 | * GTK+ at ftp://ftp.gtk.org/pub/gtk/. | ||
29 | */ | ||
30 | |||
31 | #include "platform.h" | ||
32 | #include "gtk26about.h" | ||
33 | #include <string.h> | ||
34 | #include <gdk/gdkkeysyms.h> | ||
35 | #include <gtk/gtk.h> | ||
36 | #include <gtk/gtktext.h> | ||
37 | |||
38 | typedef struct _GtkAboutDialogPrivate GtkAboutDialogPrivate; | ||
39 | struct _GtkAboutDialogPrivate | ||
40 | { | ||
41 | gchar *name; | ||
42 | gchar *version; | ||
43 | gchar *copyright; | ||
44 | gchar *comments; | ||
45 | gchar *website; | ||
46 | gchar *website_label; | ||
47 | gchar *translator_credits; | ||
48 | gchar *license; | ||
49 | |||
50 | gchar **authors; | ||
51 | gchar **documenters; | ||
52 | gchar **artists; | ||
53 | |||
54 | GtkWidget *logo_image; | ||
55 | GtkWidget *name_label; | ||
56 | GtkWidget *comments_label; | ||
57 | GtkWidget *copyright_label; | ||
58 | GtkWidget *website_button; | ||
59 | |||
60 | GtkWidget *credits_button; | ||
61 | GtkWidget *credits_dialog; | ||
62 | GtkWidget *license_button; | ||
63 | GtkWidget *license_dialog; | ||
64 | |||
65 | GdkCursor *hand_cursor; | ||
66 | GdkCursor *regular_cursor; | ||
67 | gboolean hovering_over_link; | ||
68 | }; | ||
69 | |||
70 | #define GTK_ABOUT_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogPrivate)) | ||
71 | |||
72 | |||
73 | enum | ||
74 | { | ||
75 | PROP_0, | ||
76 | PROP_NAME, | ||
77 | PROP_VERSION, | ||
78 | PROP_COPYRIGHT, | ||
79 | PROP_COMMENTS, | ||
80 | PROP_WEBSITE, | ||
81 | PROP_WEBSITE_LABEL, | ||
82 | PROP_LICENSE, | ||
83 | PROP_AUTHORS, | ||
84 | PROP_DOCUMENTERS, | ||
85 | PROP_TRANSLATOR_CREDITS, | ||
86 | PROP_ARTISTS, | ||
87 | PROP_LOGO | ||
88 | }; | ||
89 | |||
90 | static void gtk_about_dialog_finalize (GObject *object); | ||
91 | static void gtk_about_dialog_get_property (GObject *object, | ||
92 | guint prop_id, | ||
93 | GValue *value, | ||
94 | GParamSpec *pspec); | ||
95 | static void gtk_about_dialog_set_property (GObject *object, | ||
96 | guint prop_id, | ||
97 | const GValue *value, | ||
98 | GParamSpec *pspec); | ||
99 | static void update_name_version (GtkAboutDialog *about); | ||
100 | static GtkIconSet * icon_set_new_from_pixbufs (GList *pixbufs); | ||
101 | static void activate_url (GtkWidget *widget, | ||
102 | gpointer data); | ||
103 | static void set_link_button_text (GtkWidget *about, | ||
104 | GtkWidget *button, | ||
105 | gchar *text); | ||
106 | static GtkWidget * create_link_button (GtkWidget *about, | ||
107 | gchar *text, | ||
108 | gchar *url, | ||
109 | GCallback callback, | ||
110 | gpointer data); | ||
111 | static void follow_if_link (GtkAboutDialog *about, | ||
112 | GtkTextIter *iter); | ||
113 | static void set_cursor_if_appropriate (GtkAboutDialog *about, | ||
114 | GtkTextView *text_view, | ||
115 | gint x, | ||
116 | gint y); | ||
117 | static void add_credits_page (GtkAboutDialog *about, | ||
118 | GtkWidget *notebook, | ||
119 | gchar *title, | ||
120 | gchar **people); | ||
121 | static gboolean credits_key_press_event (GtkWidget *text_view, | ||
122 | GdkEventKey *event, | ||
123 | GtkAboutDialog *about); | ||
124 | static gboolean credits_event_after (GtkWidget *text_view, | ||
125 | GdkEvent *event, | ||
126 | GtkAboutDialog *about); | ||
127 | static gboolean credits_motion_notify_event (GtkWidget *text_view, | ||
128 | GdkEventMotion *event, | ||
129 | GtkAboutDialog *about); | ||
130 | static gboolean credits_visibility_notify_event (GtkWidget *text_view, | ||
131 | GdkEventVisibility *event, | ||
132 | GtkAboutDialog *about); | ||
133 | static void display_credits_dialog (GtkWidget *button, | ||
134 | gpointer data); | ||
135 | static void display_license_dialog (GtkWidget *button, | ||
136 | gpointer data); | ||
137 | |||
138 | |||
139 | static GtkAboutDialogActivateLinkFunc activate_email_hook = NULL; | ||
140 | static GtkAboutDialogActivateLinkFunc activate_url_hook = NULL; | ||
141 | |||
142 | G_DEFINE_TYPE (GtkAboutDialog, gtk_about_dialog, GTK_TYPE_DIALOG); | ||
143 | |||
144 | static void | ||
145 | gtk_about_dialog_class_init (GtkAboutDialogClass *klass) | ||
146 | { | ||
147 | GObjectClass *object_class; | ||
148 | GtkWidgetClass *widget_class; | ||
149 | GtkDialogClass *dialog_class; | ||
150 | |||
151 | object_class = (GObjectClass *)klass; | ||
152 | widget_class = (GtkWidgetClass *)klass; | ||
153 | dialog_class = (GtkDialogClass *)klass; | ||
154 | |||
155 | object_class->set_property = gtk_about_dialog_set_property; | ||
156 | object_class->get_property = gtk_about_dialog_get_property; | ||
157 | |||
158 | object_class->finalize = gtk_about_dialog_finalize; | ||
159 | |||
160 | g_object_class_install_property (object_class, | ||
161 | PROP_NAME, | ||
162 | g_param_spec_string ("name", | ||
163 | gettext_noop("Program name"), | ||
164 | gettext_noop("The name of the program. If this is not set, it defaults to g_get_application_name()"), | ||
165 | NULL, | ||
166 | G_PARAM_READWRITE)); | ||
167 | |||
168 | g_object_class_install_property (object_class, | ||
169 | PROP_VERSION, | ||
170 | g_param_spec_string ("version", | ||
171 | gettext_noop("Program version"), | ||
172 | gettext_noop("The version of the program"), | ||
173 | NULL, | ||
174 | G_PARAM_READWRITE)); | ||
175 | g_object_class_install_property (object_class, | ||
176 | PROP_COPYRIGHT, | ||
177 | g_param_spec_string ("copyright", | ||
178 | gettext_noop("Copyright string"), | ||
179 | gettext_noop("Copyright information for the program"), | ||
180 | NULL, | ||
181 | G_PARAM_READWRITE)); | ||
182 | |||
183 | g_object_class_install_property (object_class, | ||
184 | PROP_COMMENTS, | ||
185 | g_param_spec_string ("comments", | ||
186 | gettext_noop("Comments string"), | ||
187 | gettext_noop("Comments about the program"), | ||
188 | NULL, | ||
189 | G_PARAM_READWRITE)); | ||
190 | g_object_class_install_property (object_class, | ||
191 | PROP_LICENSE, | ||
192 | g_param_spec_string ("license", | ||
193 | gettext_noop("License"), | ||
194 | gettext_noop("The license of the program"), | ||
195 | NULL, | ||
196 | G_PARAM_READWRITE)); | ||
197 | |||
198 | g_object_class_install_property (object_class, | ||
199 | PROP_WEBSITE, | ||
200 | g_param_spec_string ("website", | ||
201 | gettext_noop("Website URL"), | ||
202 | gettext_noop("The URL for the link to the website of the program"), | ||
203 | NULL, | ||
204 | G_PARAM_READWRITE)); | ||
205 | |||
206 | g_object_class_install_property (object_class, | ||
207 | PROP_WEBSITE_LABEL, | ||
208 | g_param_spec_string ("website_label", | ||
209 | gettext_noop("Website label"), | ||
210 | gettext_noop("The label for the link to the website of the program. If this is not set, it defaults to the URL"), | ||
211 | NULL, | ||
212 | G_PARAM_READWRITE)); | ||
213 | |||
214 | g_object_class_install_property (object_class, | ||
215 | PROP_AUTHORS, | ||
216 | g_param_spec_boxed ("authors", | ||
217 | gettext_noop("Authors"), | ||
218 | gettext_noop("List of authors of the programs"), | ||
219 | G_TYPE_STRV, | ||
220 | G_PARAM_READWRITE)); | ||
221 | g_object_class_install_property (object_class, | ||
222 | PROP_DOCUMENTERS, | ||
223 | g_param_spec_boxed ("documenters", | ||
224 | gettext_noop("Documenters"), | ||
225 | gettext_noop("List of people documenting the program"), | ||
226 | G_TYPE_STRV, | ||
227 | G_PARAM_READWRITE)); | ||
228 | |||
229 | g_object_class_install_property (object_class, | ||
230 | PROP_ARTISTS, | ||
231 | g_param_spec_boxed ("artists", | ||
232 | gettext_noop("Artists"), | ||
233 | gettext_noop("List of people who have contributed artwork to the program"), | ||
234 | G_TYPE_STRV, | ||
235 | G_PARAM_READWRITE)); | ||
236 | |||
237 | g_object_class_install_property (object_class, | ||
238 | PROP_TRANSLATOR_CREDITS, | ||
239 | g_param_spec_string ("translator_credits", | ||
240 | gettext_noop("Translator credits"), | ||
241 | gettext_noop("Credits to the translators. This string should be marked as translatable"), | ||
242 | NULL, | ||
243 | G_PARAM_READWRITE)); | ||
244 | |||
245 | g_object_class_install_property (object_class, | ||
246 | PROP_LOGO, | ||
247 | g_param_spec_object ("logo", | ||
248 | gettext_noop("Logo"), | ||
249 | gettext_noop("A logo for the about box. If this is not set, it defaults to gtk_window_get_default_icon_list()"), | ||
250 | GDK_TYPE_PIXBUF, | ||
251 | G_PARAM_READWRITE)); | ||
252 | |||
253 | /* Style properties */ | ||
254 | gtk_widget_class_install_style_property (widget_class, | ||
255 | g_param_spec_boxed ("link_color", | ||
256 | gettext_noop("Link Color"), | ||
257 | gettext_noop("Color of hyperlinks"), | ||
258 | GDK_TYPE_COLOR, | ||
259 | G_PARAM_READABLE)); | ||
260 | |||
261 | g_type_class_add_private (object_class, sizeof (GtkAboutDialogPrivate)); | ||
262 | } | ||
263 | |||
264 | static void | ||
265 | gtk_about_dialog_init (GtkAboutDialog *about) | ||
266 | { | ||
267 | GtkAboutDialogPrivate *priv; | ||
268 | GtkWidget *vbox, *hbox, *button; | ||
269 | |||
270 | /* Data */ | ||
271 | priv = GTK_ABOUT_DIALOG_GET_PRIVATE (about); | ||
272 | about->private_data = priv; | ||
273 | |||
274 | priv->name = NULL; | ||
275 | priv->version = NULL; | ||
276 | priv->copyright = NULL; | ||
277 | priv->comments = NULL; | ||
278 | priv->website = NULL; | ||
279 | priv->website_label = NULL; | ||
280 | priv->translator_credits = NULL; | ||
281 | priv->authors = NULL; | ||
282 | priv->documenters = NULL; | ||
283 | priv->artists = NULL; | ||
284 | |||
285 | priv->hand_cursor = gdk_cursor_new (GDK_HAND2); | ||
286 | priv->regular_cursor = gdk_cursor_new (GDK_XTERM); | ||
287 | priv->hovering_over_link = FALSE; | ||
288 | |||
289 | /* Widgets */ | ||
290 | gtk_widget_push_composite_child (); | ||
291 | vbox = gtk_vbox_new (FALSE, 8); | ||
292 | gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); | ||
293 | |||
294 | gtk_box_pack_start (GTK_BOX (GTK_DIALOG (about)->vbox), vbox, TRUE, TRUE, 0); | ||
295 | |||
296 | priv->logo_image = gtk_image_new (); | ||
297 | gtk_box_pack_start (GTK_BOX (vbox), priv->logo_image, FALSE, FALSE, 0); | ||
298 | |||
299 | priv->name_label = gtk_label_new (NULL); | ||
300 | gtk_label_set_selectable (GTK_LABEL (priv->name_label), TRUE); | ||
301 | gtk_label_set_justify (GTK_LABEL (priv->name_label), GTK_JUSTIFY_CENTER); | ||
302 | gtk_box_pack_start (GTK_BOX (vbox), priv->name_label, FALSE, FALSE, 0); | ||
303 | |||
304 | priv->comments_label = gtk_label_new (NULL); | ||
305 | gtk_label_set_selectable (GTK_LABEL (priv->comments_label), TRUE); | ||
306 | gtk_label_set_justify (GTK_LABEL (priv->comments_label), GTK_JUSTIFY_CENTER); | ||
307 | gtk_label_set_line_wrap (GTK_LABEL (priv->comments_label), TRUE); | ||
308 | gtk_box_pack_start (GTK_BOX (vbox), priv->comments_label, FALSE, FALSE, 0); | ||
309 | |||
310 | priv->copyright_label = gtk_label_new (NULL); | ||
311 | gtk_label_set_selectable (GTK_LABEL (priv->copyright_label), TRUE); | ||
312 | gtk_label_set_justify (GTK_LABEL (priv->copyright_label), GTK_JUSTIFY_CENTER); | ||
313 | gtk_box_pack_start (GTK_BOX (vbox), priv->copyright_label, FALSE, FALSE, 0); | ||
314 | |||
315 | button = create_link_button (GTK_WIDGET (about), "", "", | ||
316 | G_CALLBACK (activate_url), about); | ||
317 | |||
318 | hbox = gtk_hbox_new (TRUE, 0); | ||
319 | gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); | ||
320 | gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, FALSE, 0); | ||
321 | priv->website_button = button; | ||
322 | |||
323 | gtk_widget_show (vbox); | ||
324 | gtk_widget_show (priv->logo_image); | ||
325 | gtk_widget_show (priv->name_label); | ||
326 | gtk_widget_show (hbox); | ||
327 | |||
328 | /* Add the OK button */ | ||
329 | gtk_dialog_add_button (GTK_DIALOG (about), GTK_STOCK_OK, GTK_RESPONSE_OK); | ||
330 | gtk_dialog_set_default_response (GTK_DIALOG (about), GTK_RESPONSE_OK); | ||
331 | |||
332 | /* Add the credits button */ | ||
333 | button = gtk_button_new_from_stock (gettext_noop("_Credits")); | ||
334 | gtk_box_pack_end (GTK_BOX (GTK_DIALOG (about)->action_area), | ||
335 | button, FALSE, TRUE, 0); | ||
336 | gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (GTK_DIALOG (about)->action_area), button, TRUE); | ||
337 | g_signal_connect (button, "clicked", G_CALLBACK (display_credits_dialog), about); | ||
338 | priv->credits_button = button; | ||
339 | priv->credits_dialog = NULL; | ||
340 | |||
341 | /* Add the license button */ | ||
342 | button = gtk_button_new_from_stock (gettext_noop("_License")); | ||
343 | gtk_box_pack_end (GTK_BOX (GTK_DIALOG (about)->action_area), | ||
344 | button, FALSE, TRUE, 0); | ||
345 | gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (GTK_DIALOG (about)->action_area), button, TRUE); | ||
346 | g_signal_connect (button, "clicked", G_CALLBACK (display_license_dialog), about); | ||
347 | priv->license_button = button; | ||
348 | priv->license_dialog = NULL; | ||
349 | |||
350 | gtk_window_set_resizable (GTK_WINDOW (about), FALSE); | ||
351 | |||
352 | gtk_widget_pop_composite_child (); | ||
353 | } | ||
354 | |||
355 | static void | ||
356 | gtk_about_dialog_finalize (GObject *object) | ||
357 | { | ||
358 | GtkAboutDialog *about = GTK_ABOUT_DIALOG (object); | ||
359 | GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data; | ||
360 | |||
361 | g_free (priv->name); | ||
362 | g_free (priv->version); | ||
363 | g_free (priv->copyright); | ||
364 | g_free (priv->comments); | ||
365 | g_free (priv->license); | ||
366 | g_free (priv->website); | ||
367 | g_free (priv->website_label); | ||
368 | g_free (priv->translator_credits); | ||
369 | |||
370 | g_strfreev (priv->authors); | ||
371 | g_strfreev (priv->documenters); | ||
372 | g_strfreev (priv->artists); | ||
373 | |||
374 | g_free (priv); | ||
375 | about->private_data = NULL; | ||
376 | |||
377 | G_OBJECT_CLASS (gtk_about_dialog_parent_class)->finalize (object); | ||
378 | } | ||
379 | |||
380 | static void | ||
381 | gtk_about_dialog_set_property (GObject *object, | ||
382 | guint prop_id, | ||
383 | const GValue *value, | ||
384 | GParamSpec *pspec) | ||
385 | { | ||
386 | GtkAboutDialog *about = GTK_ABOUT_DIALOG (object); | ||
387 | |||
388 | switch (prop_id) | ||
389 | { | ||
390 | case PROP_NAME: | ||
391 | gtk_about_dialog_set_name (about, g_value_get_string (value)); | ||
392 | break; | ||
393 | case PROP_VERSION: | ||
394 | gtk_about_dialog_set_version (about, g_value_get_string (value)); | ||
395 | break; | ||
396 | case PROP_COMMENTS: | ||
397 | gtk_about_dialog_set_comments (about, g_value_get_string (value)); | ||
398 | break; | ||
399 | case PROP_WEBSITE: | ||
400 | gtk_about_dialog_set_website (about, g_value_get_string (value)); | ||
401 | break; | ||
402 | case PROP_WEBSITE_LABEL: | ||
403 | gtk_about_dialog_set_website_label (about, g_value_get_string (value)); | ||
404 | break; | ||
405 | case PROP_LICENSE: | ||
406 | gtk_about_dialog_set_license (about, g_value_get_string (value)); | ||
407 | break; | ||
408 | case PROP_COPYRIGHT: | ||
409 | gtk_about_dialog_set_copyright (about, g_value_get_string (value)); | ||
410 | break; | ||
411 | case PROP_LOGO: | ||
412 | gtk_about_dialog_set_logo (about, g_value_get_object (value)); | ||
413 | break; | ||
414 | case PROP_AUTHORS: | ||
415 | gtk_about_dialog_set_authors (about, (gchar**)g_value_get_boxed (value)); | ||
416 | break; | ||
417 | case PROP_DOCUMENTERS: | ||
418 | gtk_about_dialog_set_documenters (about, (gchar**)g_value_get_boxed (value)); | ||
419 | break; | ||
420 | case PROP_ARTISTS: | ||
421 | gtk_about_dialog_set_artists (about, (gchar**)g_value_get_boxed (value)); | ||
422 | break; | ||
423 | case PROP_TRANSLATOR_CREDITS: | ||
424 | gtk_about_dialog_set_translator_credits (about, g_value_get_string (value)); | ||
425 | break; | ||
426 | default: | ||
427 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
428 | break; | ||
429 | } | ||
430 | } | ||
431 | |||
432 | static void | ||
433 | gtk_about_dialog_get_property (GObject *object, | ||
434 | guint prop_id, | ||
435 | GValue *value, | ||
436 | GParamSpec *pspec) | ||
437 | { | ||
438 | GtkAboutDialog *about = GTK_ABOUT_DIALOG (object); | ||
439 | GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data; | ||
440 | |||
441 | switch (prop_id) | ||
442 | { | ||
443 | case PROP_NAME: | ||
444 | g_value_set_string (value, priv->name); | ||
445 | break; | ||
446 | case PROP_VERSION: | ||
447 | g_value_set_string (value, priv->version); | ||
448 | break; | ||
449 | case PROP_COPYRIGHT: | ||
450 | g_value_set_string (value, priv->copyright); | ||
451 | break; | ||
452 | case PROP_COMMENTS: | ||
453 | g_value_set_string (value, priv->comments); | ||
454 | break; | ||
455 | case PROP_WEBSITE: | ||
456 | g_value_set_string (value, priv->website); | ||
457 | break; | ||
458 | case PROP_WEBSITE_LABEL: | ||
459 | g_value_set_string (value, priv->website_label); | ||
460 | break; | ||
461 | case PROP_LICENSE: | ||
462 | g_value_set_string (value, priv->license); | ||
463 | break; | ||
464 | case PROP_TRANSLATOR_CREDITS: | ||
465 | g_value_set_string (value, priv->translator_credits); | ||
466 | break; | ||
467 | case PROP_AUTHORS: | ||
468 | g_value_set_boxed (value, priv->authors); | ||
469 | break; | ||
470 | case PROP_DOCUMENTERS: | ||
471 | g_value_set_boxed (value, priv->documenters); | ||
472 | break; | ||
473 | case PROP_ARTISTS: | ||
474 | g_value_set_boxed (value, priv->artists); | ||
475 | break; | ||
476 | case PROP_LOGO: | ||
477 | g_value_set_object (value, gtk_image_get_pixbuf (GTK_IMAGE (priv->logo_image))); | ||
478 | break; | ||
479 | default: | ||
480 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
481 | break; | ||
482 | } | ||
483 | } | ||
484 | |||
485 | /** | ||
486 | * gtk_about_dialog_get_name: | ||
487 | * @about: a #GtkAboutDialog | ||
488 | * | ||
489 | * Returns the program name displayed in the about dialog. | ||
490 | * | ||
491 | * Return value: The program name. The string is owned by the about | ||
492 | * dialog and must not be modified. | ||
493 | * | ||
494 | * Since: 2.6 | ||
495 | **/ | ||
496 | G_CONST_RETURN gchar * | ||
497 | gtk_about_dialog_get_name (GtkAboutDialog *about) | ||
498 | { | ||
499 | GtkAboutDialogPrivate *priv; | ||
500 | |||
501 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
502 | |||
503 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
504 | |||
505 | return priv->name; | ||
506 | } | ||
507 | |||
508 | static void | ||
509 | update_name_version (GtkAboutDialog *about) | ||
510 | { | ||
511 | GtkAboutDialogPrivate *priv; | ||
512 | gchar *title_string, *name_string; | ||
513 | |||
514 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
515 | |||
516 | title_string = g_strdup_printf (gettext_noop("About %s"), priv->name); | ||
517 | gtk_window_set_title (GTK_WINDOW (about), title_string); | ||
518 | g_free (title_string); | ||
519 | |||
520 | if (priv->version != NULL) | ||
521 | name_string = g_markup_printf_escaped ("<span size=\"xx-large\" weight=\"bold\">%s %s</span>", | ||
522 | priv->name, priv->version); | ||
523 | else | ||
524 | name_string = g_markup_printf_escaped ("<span size=\"xx-large\" weight=\"bold\">%s</span>", | ||
525 | priv->name); | ||
526 | |||
527 | gtk_label_set_markup (GTK_LABEL (priv->name_label), name_string); | ||
528 | |||
529 | g_free (name_string); | ||
530 | } | ||
531 | |||
532 | /** | ||
533 | * gtk_about_dialog_set_name: | ||
534 | * @about: a #GtkAboutDialog | ||
535 | * @name: the program name | ||
536 | * | ||
537 | * Sets the name to display in the about dialog. | ||
538 | * If this is not set, it defaults to g_get_application_name(). | ||
539 | * | ||
540 | * Since: 2.6 | ||
541 | **/ | ||
542 | void | ||
543 | gtk_about_dialog_set_name (GtkAboutDialog *about, | ||
544 | const gchar *name) | ||
545 | { | ||
546 | GtkAboutDialogPrivate *priv; | ||
547 | gchar *tmp; | ||
548 | |||
549 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
550 | |||
551 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
552 | tmp = priv->name; | ||
553 | priv->name = g_strdup (name ? name : g_get_application_name ()); | ||
554 | g_free (tmp); | ||
555 | |||
556 | update_name_version (about); | ||
557 | |||
558 | g_object_notify (G_OBJECT (about), "name"); | ||
559 | } | ||
560 | |||
561 | /** | ||
562 | * gtk_about_dialog_get_version: | ||
563 | * @about: a #GtkAboutDialog | ||
564 | * | ||
565 | * Returns the version string. | ||
566 | * | ||
567 | * Return value: The version string. The string is owned by the about | ||
568 | * dialog and must not be modified. | ||
569 | * | ||
570 | * Since: 2.6 | ||
571 | **/ | ||
572 | G_CONST_RETURN gchar * | ||
573 | gtk_about_dialog_get_version (GtkAboutDialog *about) | ||
574 | { | ||
575 | GtkAboutDialogPrivate *priv; | ||
576 | |||
577 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
578 | |||
579 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
580 | |||
581 | return priv->version; | ||
582 | } | ||
583 | |||
584 | /** | ||
585 | * gtk_about_dialog_set_version: | ||
586 | * @about: a #GtkAboutDialog | ||
587 | * @version: the version string | ||
588 | * | ||
589 | * Sets the version string to display in the about dialog. | ||
590 | * | ||
591 | * Since: 2.6 | ||
592 | **/ | ||
593 | void | ||
594 | gtk_about_dialog_set_version (GtkAboutDialog *about, | ||
595 | const gchar *version) | ||
596 | { | ||
597 | GtkAboutDialogPrivate *priv; | ||
598 | gchar *tmp; | ||
599 | |||
600 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
601 | |||
602 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
603 | |||
604 | tmp = priv->version; | ||
605 | priv->version = version ? g_strdup (version) : NULL; | ||
606 | g_free (tmp); | ||
607 | |||
608 | update_name_version (about); | ||
609 | |||
610 | g_object_notify (G_OBJECT (about), "version"); | ||
611 | } | ||
612 | |||
613 | /** | ||
614 | * gtk_about_dialog_get_copyright: | ||
615 | * @about: a #GtkAboutDialog | ||
616 | * | ||
617 | * Returns the copyright string. | ||
618 | * | ||
619 | * Return value: The copyright string. The string is owned by the about | ||
620 | * dialog and must not be modified. | ||
621 | * | ||
622 | * Since: 2.6 | ||
623 | **/ | ||
624 | G_CONST_RETURN gchar * | ||
625 | gtk_about_dialog_get_copyright (GtkAboutDialog *about) | ||
626 | { | ||
627 | GtkAboutDialogPrivate *priv; | ||
628 | |||
629 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
630 | |||
631 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
632 | |||
633 | return priv->copyright; | ||
634 | } | ||
635 | |||
636 | /** | ||
637 | * gtk_about_dialog_set_copyright: | ||
638 | * @about: a #GtkAboutDialog | ||
639 | * @copyright: the copyright string | ||
640 | * | ||
641 | * Sets the copyright string to display in the about dialog. | ||
642 | * This should be a short string of one or two lines. | ||
643 | * | ||
644 | * Since: 2.6 | ||
645 | **/ | ||
646 | void | ||
647 | gtk_about_dialog_set_copyright (GtkAboutDialog *about, | ||
648 | const gchar *copyright) | ||
649 | { | ||
650 | GtkAboutDialogPrivate *priv; | ||
651 | gchar *copyright_string, *tmp; | ||
652 | |||
653 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
654 | |||
655 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
656 | |||
657 | tmp = priv->copyright; | ||
658 | priv->copyright = copyright ? g_strdup (copyright) : NULL; | ||
659 | g_free (tmp); | ||
660 | |||
661 | if (priv->copyright != NULL) | ||
662 | { | ||
663 | copyright_string = g_markup_printf_escaped ("<span size=\"small\">%s</span>", | ||
664 | priv->copyright); | ||
665 | gtk_label_set_markup (GTK_LABEL (priv->copyright_label), copyright_string); | ||
666 | g_free (copyright_string); | ||
667 | |||
668 | gtk_widget_show (priv->copyright_label); | ||
669 | } | ||
670 | else | ||
671 | gtk_widget_hide (priv->copyright_label); | ||
672 | |||
673 | g_object_notify (G_OBJECT (about), "copyright"); | ||
674 | } | ||
675 | |||
676 | /** | ||
677 | * gtk_about_dialog_get_comments: | ||
678 | * @about: a #GtkAboutDialog | ||
679 | * | ||
680 | * Returns the comments string. | ||
681 | * | ||
682 | * Return value: The comments. The string is owned by the about | ||
683 | * dialog and must not be modified. | ||
684 | * | ||
685 | * Since: 2.6 | ||
686 | **/ | ||
687 | G_CONST_RETURN gchar * | ||
688 | gtk_about_dialog_get_comments (GtkAboutDialog *about) | ||
689 | { | ||
690 | GtkAboutDialogPrivate *priv; | ||
691 | |||
692 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
693 | |||
694 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
695 | |||
696 | return priv->comments; | ||
697 | } | ||
698 | |||
699 | /** | ||
700 | * gtk_about_dialog_set_comments: | ||
701 | * @about: a #GtkAboutDialog | ||
702 | * @comments: a comments string | ||
703 | * | ||
704 | * Sets the comments string to display in the about | ||
705 | * dialog. This should be a short string of one or | ||
706 | * two lines. | ||
707 | * | ||
708 | * Since: 2.6 | ||
709 | **/ | ||
710 | void | ||
711 | gtk_about_dialog_set_comments (GtkAboutDialog *about, | ||
712 | const gchar *comments) | ||
713 | { | ||
714 | GtkAboutDialogPrivate *priv; | ||
715 | gchar *tmp; | ||
716 | |||
717 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
718 | |||
719 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
720 | |||
721 | tmp = priv->comments; | ||
722 | if (comments) | ||
723 | { | ||
724 | priv->comments = g_strdup (comments); | ||
725 | gtk_label_set_text (GTK_LABEL (priv->comments_label), priv->comments); | ||
726 | gtk_widget_show (priv->comments_label); | ||
727 | } | ||
728 | else | ||
729 | { | ||
730 | priv->comments = NULL; | ||
731 | gtk_widget_hide (priv->comments_label); | ||
732 | } | ||
733 | g_free (tmp); | ||
734 | |||
735 | g_object_notify (G_OBJECT (about), "comments"); | ||
736 | } | ||
737 | |||
738 | /** | ||
739 | * gtk_about_dialog_get_license: | ||
740 | * @about: a #GtkAboutDialog | ||
741 | * | ||
742 | * Returns the license information. | ||
743 | * | ||
744 | * Return value: The license information. The string is owned by the about | ||
745 | * dialog and must not be modified. | ||
746 | * | ||
747 | * Since: 2.6 | ||
748 | **/ | ||
749 | G_CONST_RETURN gchar * | ||
750 | gtk_about_dialog_get_license (GtkAboutDialog *about) | ||
751 | { | ||
752 | GtkAboutDialogPrivate *priv; | ||
753 | |||
754 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
755 | |||
756 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
757 | |||
758 | return priv->license; | ||
759 | } | ||
760 | |||
761 | /** | ||
762 | * gtk_about_dialog_set_license: | ||
763 | * @about: a #GtkAboutDialog | ||
764 | * @license: the license information or %NULL | ||
765 | * | ||
766 | * Sets the license information to be displayed in the secondary | ||
767 | * license dialog. If @license is %NULL, the license button is | ||
768 | * hidden. | ||
769 | * | ||
770 | * Since: 2.6 | ||
771 | **/ | ||
772 | void | ||
773 | gtk_about_dialog_set_license (GtkAboutDialog *about, | ||
774 | const gchar *license) | ||
775 | { | ||
776 | GtkAboutDialogPrivate *priv; | ||
777 | gchar *tmp; | ||
778 | |||
779 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
780 | |||
781 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
782 | |||
783 | tmp = priv->license; | ||
784 | if (license) | ||
785 | { | ||
786 | priv->license = g_strdup (license); | ||
787 | gtk_widget_show (priv->license_button); | ||
788 | } | ||
789 | else | ||
790 | { | ||
791 | priv->license = NULL; | ||
792 | gtk_widget_hide (priv->license_button); | ||
793 | } | ||
794 | g_free (tmp); | ||
795 | |||
796 | g_object_notify (G_OBJECT (about), "license"); | ||
797 | } | ||
798 | |||
799 | /** | ||
800 | * gtk_about_dialog_get_website: | ||
801 | * @about: a #GtkAboutDialog | ||
802 | * | ||
803 | * Returns the website URL. | ||
804 | * | ||
805 | * Return value: The website URL. The string is owned by the about | ||
806 | * dialog and must not be modified. | ||
807 | * | ||
808 | * Since: 2.6 | ||
809 | **/ | ||
810 | G_CONST_RETURN gchar * | ||
811 | gtk_about_dialog_get_website (GtkAboutDialog *about) | ||
812 | { | ||
813 | GtkAboutDialogPrivate *priv; | ||
814 | |||
815 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
816 | |||
817 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
818 | |||
819 | return priv->website; | ||
820 | } | ||
821 | |||
822 | /** | ||
823 | * gtk_about_dialog_set_website: | ||
824 | * @about: a #GtkAboutDialog | ||
825 | * @website: a URL string starting with "http://" | ||
826 | * | ||
827 | * Sets the URL to use for the website link. | ||
828 | * | ||
829 | * Since: 2.6 | ||
830 | **/ | ||
831 | void | ||
832 | gtk_about_dialog_set_website (GtkAboutDialog *about, | ||
833 | const gchar *website) | ||
834 | { | ||
835 | GtkAboutDialogPrivate *priv; | ||
836 | gchar *tmp; | ||
837 | |||
838 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
839 | |||
840 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
841 | |||
842 | tmp = priv->website; | ||
843 | if (website != NULL) | ||
844 | { | ||
845 | priv->website = g_strdup (website); | ||
846 | if (activate_url_hook != NULL) | ||
847 | { | ||
848 | g_object_set_data_full (G_OBJECT (priv->website_button), | ||
849 | "url", g_strdup (website), g_free); | ||
850 | if (priv->website_label == NULL) | ||
851 | gtk_about_dialog_set_website_label (about, website); | ||
852 | } | ||
853 | else | ||
854 | { | ||
855 | GtkWidget *hbox = priv->website_button->parent; | ||
856 | gtk_widget_destroy (priv->website_button); | ||
857 | priv->website_button = gtk_label_new (website); | ||
858 | gtk_label_set_selectable (GTK_LABEL (priv->website_button), TRUE); | ||
859 | gtk_container_add (GTK_CONTAINER (hbox), priv->website_button); | ||
860 | gtk_widget_show (priv->website_button); | ||
861 | } | ||
862 | } | ||
863 | else | ||
864 | { | ||
865 | priv->website = NULL; | ||
866 | g_object_set_data (G_OBJECT (priv->website_button), "url", NULL); | ||
867 | } | ||
868 | g_free (tmp); | ||
869 | |||
870 | g_object_notify (G_OBJECT (about), "website"); | ||
871 | } | ||
872 | |||
873 | /** | ||
874 | * gtk_about_dialog_get_website_label: | ||
875 | * @about: a #GtkAboutDialog | ||
876 | * | ||
877 | * Returns the label used for the website link. | ||
878 | * | ||
879 | * Return value: The label used for the website link. The string is owned by the about | ||
880 | * dialog and must not be modified. | ||
881 | * | ||
882 | * Since: 2.6 | ||
883 | **/ | ||
884 | G_CONST_RETURN gchar * | ||
885 | gtk_about_dialog_get_website_label (GtkAboutDialog *about) | ||
886 | { | ||
887 | GtkAboutDialogPrivate *priv; | ||
888 | |||
889 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
890 | |||
891 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
892 | |||
893 | return priv->website_label; | ||
894 | } | ||
895 | |||
896 | /** | ||
897 | * gtk_about_dialog_set_website_label: | ||
898 | * @about: a #GtkAboutDialog | ||
899 | * @website_label: the label used for the website link | ||
900 | * | ||
901 | * Sets the label to be used for the website link. | ||
902 | * It defaults to the website URL. | ||
903 | * | ||
904 | * Since: 2.6 | ||
905 | **/ | ||
906 | void | ||
907 | gtk_about_dialog_set_website_label (GtkAboutDialog *about, | ||
908 | const gchar *website_label) | ||
909 | { | ||
910 | GtkAboutDialogPrivate *priv; | ||
911 | gchar *tmp; | ||
912 | |||
913 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
914 | |||
915 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
916 | |||
917 | tmp = priv->website_label; | ||
918 | if (activate_url_hook != NULL) | ||
919 | { | ||
920 | if (website_label != NULL) | ||
921 | { | ||
922 | priv->website_label = g_strdup (website_label); | ||
923 | set_link_button_text (GTK_WIDGET (about), | ||
924 | priv->website_button, | ||
925 | priv->website_label); | ||
926 | gtk_widget_show (priv->website_button); | ||
927 | } | ||
928 | else | ||
929 | { | ||
930 | priv->website_label = NULL; | ||
931 | gtk_widget_hide (priv->website_button); | ||
932 | } | ||
933 | } | ||
934 | g_free (tmp); | ||
935 | |||
936 | g_object_notify (G_OBJECT (about), "website_label"); | ||
937 | } | ||
938 | |||
939 | /** | ||
940 | * gtk_about_dialog_get_authors: | ||
941 | * @about: a #GtkAboutDialog | ||
942 | * | ||
943 | * Returns the string which are displayed in the authors tab | ||
944 | * of the secondary credits dialog. | ||
945 | * | ||
946 | * Return value: A %NULL-terminated string array containing | ||
947 | * the authors. The array is owned by the about dialog | ||
948 | * and must not be modified. | ||
949 | * | ||
950 | * Since: 2.6 | ||
951 | **/ | ||
952 | gchar ** | ||
953 | gtk_about_dialog_get_authors (GtkAboutDialog *about) | ||
954 | { | ||
955 | GtkAboutDialogPrivate *priv; | ||
956 | |||
957 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
958 | |||
959 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
960 | |||
961 | return priv->authors; | ||
962 | } | ||
963 | |||
964 | /** | ||
965 | * gtk_about_dialog_set_authors: | ||
966 | * @about: a #GtkAboutDialog | ||
967 | * @authors: a %NULL-terminated array of strings | ||
968 | * | ||
969 | * Sets the strings which are displayed in the authors tab | ||
970 | * of the secondary credits dialog. | ||
971 | * | ||
972 | * Since: 2.6 | ||
973 | **/ | ||
974 | void | ||
975 | gtk_about_dialog_set_authors (GtkAboutDialog *about, | ||
976 | gchar **authors) | ||
977 | { | ||
978 | GtkAboutDialogPrivate *priv; | ||
979 | gchar **tmp; | ||
980 | |||
981 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
982 | |||
983 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
984 | |||
985 | tmp = priv->authors; | ||
986 | priv->authors = g_strdupv (authors); | ||
987 | g_strfreev (tmp); | ||
988 | |||
989 | if (priv->authors != NULL) | ||
990 | gtk_widget_show (priv->credits_button); | ||
991 | |||
992 | g_object_notify (G_OBJECT (about), "authors"); | ||
993 | } | ||
994 | |||
995 | /** | ||
996 | * gtk_about_dialog_get_documenters: | ||
997 | * @about: a #GtkAboutDialog | ||
998 | * | ||
999 | * Returns the string which are displayed in the documenters | ||
1000 | * tab of the secondary credits dialog. | ||
1001 | * | ||
1002 | * Return value: A %NULL-terminated string array containing | ||
1003 | * the documenters. The array is owned by the about dialog | ||
1004 | * and must not be modified. | ||
1005 | * | ||
1006 | * Since: 2.6 | ||
1007 | **/ | ||
1008 | gchar ** | ||
1009 | gtk_about_dialog_get_documenters (GtkAboutDialog *about) | ||
1010 | { | ||
1011 | GtkAboutDialogPrivate *priv; | ||
1012 | |||
1013 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
1014 | |||
1015 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1016 | |||
1017 | return priv->documenters; | ||
1018 | } | ||
1019 | |||
1020 | /** | ||
1021 | * gtk_about_dialog_set_documenters: | ||
1022 | * @about: a #GtkAboutDialog | ||
1023 | * @authors: a %NULL-terminated array of strings | ||
1024 | * | ||
1025 | * Sets the strings which are displayed in the documenters tab | ||
1026 | * of the secondary credits dialog. | ||
1027 | * | ||
1028 | * Since: 2.6 | ||
1029 | **/ | ||
1030 | void | ||
1031 | gtk_about_dialog_set_documenters (GtkAboutDialog *about, | ||
1032 | gchar **documenters) | ||
1033 | { | ||
1034 | GtkAboutDialogPrivate *priv; | ||
1035 | gchar **tmp; | ||
1036 | |||
1037 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
1038 | |||
1039 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1040 | |||
1041 | tmp = priv->documenters; | ||
1042 | priv->documenters = g_strdupv (documenters); | ||
1043 | g_strfreev (tmp); | ||
1044 | |||
1045 | if (priv->documenters != NULL) | ||
1046 | gtk_widget_show (priv->credits_button); | ||
1047 | |||
1048 | g_object_notify (G_OBJECT (about), "documenters"); | ||
1049 | } | ||
1050 | |||
1051 | /** | ||
1052 | * gtk_about_dialog_get_artists: | ||
1053 | * @about: a #GtkAboutDialog | ||
1054 | * | ||
1055 | * Returns the string which are displayed in the artists tab | ||
1056 | * of the secondary credits dialog. | ||
1057 | * | ||
1058 | * Return value: A %NULL-terminated string array containing | ||
1059 | * the artists. The array is owned by the about dialog | ||
1060 | * and must not be modified. | ||
1061 | * | ||
1062 | * Since: 2.6 | ||
1063 | **/ | ||
1064 | gchar ** | ||
1065 | gtk_about_dialog_get_artists (GtkAboutDialog *about) | ||
1066 | { | ||
1067 | GtkAboutDialogPrivate *priv; | ||
1068 | |||
1069 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
1070 | |||
1071 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1072 | |||
1073 | return priv->artists; | ||
1074 | } | ||
1075 | |||
1076 | /** | ||
1077 | * gtk_about_dialog_set_artists: | ||
1078 | * @about: a #GtkAboutDialog | ||
1079 | * @authors: a %NULL-terminated array of strings | ||
1080 | * | ||
1081 | * Sets the strings which are displayed in the artists tab | ||
1082 | * of the secondary credits dialog. | ||
1083 | * | ||
1084 | * Since: 2.6 | ||
1085 | **/ | ||
1086 | void | ||
1087 | gtk_about_dialog_set_artists (GtkAboutDialog *about, | ||
1088 | gchar **artists) | ||
1089 | { | ||
1090 | GtkAboutDialogPrivate *priv; | ||
1091 | gchar **tmp; | ||
1092 | |||
1093 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
1094 | |||
1095 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1096 | |||
1097 | tmp = priv->artists; | ||
1098 | priv->artists = g_strdupv (artists); | ||
1099 | g_strfreev (tmp); | ||
1100 | |||
1101 | if (priv->artists != NULL) | ||
1102 | gtk_widget_show (priv->credits_button); | ||
1103 | |||
1104 | g_object_notify (G_OBJECT (about), "artists"); | ||
1105 | } | ||
1106 | |||
1107 | /** | ||
1108 | * gtk_about_dialog_get_translator_credits: | ||
1109 | * @about: a #GtkAboutDialog | ||
1110 | * | ||
1111 | * Returns the translator credits string which is displayed | ||
1112 | * in the translators tab of the secondary credits dialog. | ||
1113 | * | ||
1114 | * Return value: The translator credits string. The string is | ||
1115 | * owned by the about dialog and must not be modified. | ||
1116 | * | ||
1117 | * Since: 2.6 | ||
1118 | **/ | ||
1119 | G_CONST_RETURN gchar * | ||
1120 | gtk_about_dialog_get_translator_credits (GtkAboutDialog *about) | ||
1121 | { | ||
1122 | GtkAboutDialogPrivate *priv; | ||
1123 | |||
1124 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
1125 | |||
1126 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1127 | |||
1128 | return priv->translator_credits; | ||
1129 | } | ||
1130 | |||
1131 | /** | ||
1132 | * gtk_about_dialog_set_translator_credits: | ||
1133 | * @about: a #GtkAboutDialog | ||
1134 | * @translator_credits: the translator credits | ||
1135 | * | ||
1136 | * Sets the translator credits string which is displayed in | ||
1137 | * the translators tab of the secondary credits dialog. | ||
1138 | * | ||
1139 | * The intended use for this string is to display the translator | ||
1140 | * of the language which is currently used in the user interface. | ||
1141 | * Using gettext(), a simple way to achieve that is to mark the | ||
1142 | * string for translation: | ||
1143 | * <informalexample><programlisting> | ||
1144 | * gtk_about_dialog_set_translator_credits (about, _("translator-credits")); | ||
1145 | * </programlisting></informalexample> | ||
1146 | * | ||
1147 | * Since: 2.6 | ||
1148 | **/ | ||
1149 | void | ||
1150 | gtk_about_dialog_set_translator_credits (GtkAboutDialog *about, | ||
1151 | const gchar *translator_credits) | ||
1152 | { | ||
1153 | GtkAboutDialogPrivate *priv; | ||
1154 | gchar *tmp; | ||
1155 | |||
1156 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
1157 | |||
1158 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1159 | |||
1160 | tmp = priv->translator_credits; | ||
1161 | priv->translator_credits = g_strdup (translator_credits); | ||
1162 | g_free (tmp); | ||
1163 | |||
1164 | if (priv->translator_credits != NULL) | ||
1165 | gtk_widget_show (priv->credits_button); | ||
1166 | |||
1167 | g_object_notify (G_OBJECT (about), "translator-credits"); | ||
1168 | } | ||
1169 | |||
1170 | /** | ||
1171 | * gtk_about_dialog_get_logo: | ||
1172 | * @about: a #GtkAboutDialog | ||
1173 | * | ||
1174 | * Returns the pixbuf displayed as logo in the about dialog. | ||
1175 | * | ||
1176 | * Return value: the pixbuf displayed as logo. The pixbuf is | ||
1177 | * owned by the about dialog. If you want to keep a reference | ||
1178 | * to it, you have to call g_object_ref() on it. | ||
1179 | * | ||
1180 | * Since: 2.6 | ||
1181 | **/ | ||
1182 | GdkPixbuf * | ||
1183 | gtk_about_dialog_get_logo (GtkAboutDialog *about) | ||
1184 | { | ||
1185 | GtkAboutDialogPrivate *priv; | ||
1186 | |||
1187 | g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL); | ||
1188 | |||
1189 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1190 | |||
1191 | return gtk_image_get_pixbuf (GTK_IMAGE (priv->logo_image)); | ||
1192 | } | ||
1193 | |||
1194 | static GtkIconSet * | ||
1195 | icon_set_new_from_pixbufs (GList *pixbufs) | ||
1196 | { | ||
1197 | GtkIconSet *icon_set = gtk_icon_set_new (); | ||
1198 | |||
1199 | for (; pixbufs; pixbufs = pixbufs->next) | ||
1200 | { | ||
1201 | GdkPixbuf *pixbuf = GDK_PIXBUF (pixbufs->data); | ||
1202 | |||
1203 | GtkIconSource *icon_source = gtk_icon_source_new (); | ||
1204 | gtk_icon_source_set_pixbuf (icon_source, pixbuf); | ||
1205 | gtk_icon_set_add_source (icon_set, icon_source); | ||
1206 | } | ||
1207 | |||
1208 | return icon_set; | ||
1209 | } | ||
1210 | |||
1211 | /** | ||
1212 | * gtk_about_dialog_set_logo: | ||
1213 | * @about: a #GtkAboutDialog | ||
1214 | * @pixbuf: a #GdkPixbuf, or %NULL | ||
1215 | * | ||
1216 | * Sets the pixbuf to be displayed as logo in | ||
1217 | * the about dialog. If it is %NULL, the default | ||
1218 | * window icon set with gtk_window_set_default_icon () | ||
1219 | * will be used. | ||
1220 | * | ||
1221 | * Since: 2.6 | ||
1222 | **/ | ||
1223 | void | ||
1224 | gtk_about_dialog_set_logo (GtkAboutDialog *about, | ||
1225 | GdkPixbuf *pixbuf) | ||
1226 | { | ||
1227 | GtkAboutDialogPrivate *priv; | ||
1228 | |||
1229 | g_return_if_fail (GTK_IS_ABOUT_DIALOG (about)); | ||
1230 | |||
1231 | priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1232 | |||
1233 | if (pixbuf != NULL) | ||
1234 | gtk_image_set_from_pixbuf (GTK_IMAGE (priv->logo_image), pixbuf); | ||
1235 | else | ||
1236 | { | ||
1237 | GList *pixbufs = gtk_window_get_default_icon_list (); | ||
1238 | |||
1239 | if (pixbufs != NULL) | ||
1240 | { | ||
1241 | GtkIconSet *icon_set = icon_set_new_from_pixbufs (pixbufs); | ||
1242 | |||
1243 | gtk_image_set_from_icon_set (GTK_IMAGE (priv->logo_image), | ||
1244 | icon_set, GTK_ICON_SIZE_DIALOG); | ||
1245 | |||
1246 | gtk_icon_set_unref (icon_set); | ||
1247 | g_list_free (pixbufs); | ||
1248 | } | ||
1249 | } | ||
1250 | |||
1251 | g_object_notify (G_OBJECT (about), "logo"); | ||
1252 | } | ||
1253 | |||
1254 | static void | ||
1255 | activate_url (GtkWidget *widget, | ||
1256 | gpointer data) | ||
1257 | { | ||
1258 | GtkAboutDialog *about = GTK_ABOUT_DIALOG (data); | ||
1259 | gchar *url = g_object_get_data (G_OBJECT (widget), "url"); | ||
1260 | |||
1261 | if (activate_url_hook != NULL) | ||
1262 | (* activate_url_hook) (about, url); | ||
1263 | } | ||
1264 | |||
1265 | static void | ||
1266 | set_link_button_text (GtkWidget *about, | ||
1267 | GtkWidget *button, | ||
1268 | gchar *text) | ||
1269 | { | ||
1270 | GtkWidget *label; | ||
1271 | gchar *link; | ||
1272 | GdkColor *style_link_color; | ||
1273 | GdkColor link_color = { 0, 0, 0, 0xffff }; | ||
1274 | |||
1275 | gtk_widget_ensure_style (about); | ||
1276 | gtk_widget_style_get (about, "link_color", &style_link_color, NULL); | ||
1277 | if (style_link_color) | ||
1278 | { | ||
1279 | link_color = *style_link_color; | ||
1280 | gdk_color_free (style_link_color); | ||
1281 | } | ||
1282 | |||
1283 | link = g_markup_printf_escaped ("<span foreground=\"#%04x%04x%04x\" underline=\"single\">%s</span>", | ||
1284 | link_color.red, link_color.green, link_color.blue, text); | ||
1285 | |||
1286 | label = gtk_bin_get_child (GTK_BIN (button)); | ||
1287 | gtk_label_set_markup (GTK_LABEL (label), link); | ||
1288 | g_free (link); | ||
1289 | } | ||
1290 | |||
1291 | static GtkWidget * | ||
1292 | create_link_button (GtkWidget *about, | ||
1293 | gchar *text, | ||
1294 | gchar *url, | ||
1295 | GCallback callback, | ||
1296 | gpointer data) | ||
1297 | { | ||
1298 | GtkWidget *button; | ||
1299 | |||
1300 | button = gtk_button_new_with_label (""); | ||
1301 | GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT); | ||
1302 | gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); | ||
1303 | |||
1304 | g_object_set_data_full (G_OBJECT (button), "url", g_strdup (url), g_free); | ||
1305 | set_link_button_text (about, button, text); | ||
1306 | |||
1307 | g_signal_connect (G_OBJECT (button), "clicked", callback, data); | ||
1308 | |||
1309 | return button; | ||
1310 | } | ||
1311 | |||
1312 | static void | ||
1313 | follow_if_link (GtkAboutDialog *about, | ||
1314 | GtkTextIter *iter) | ||
1315 | { | ||
1316 | GSList *tags = NULL, *tagp = NULL; | ||
1317 | |||
1318 | tags = gtk_text_iter_get_tags (iter); | ||
1319 | for (tagp = tags; tagp != NULL; tagp = tagp->next) | ||
1320 | { | ||
1321 | GtkTextTag *tag = tagp->data; | ||
1322 | gchar *email = g_object_get_data (G_OBJECT (tag), "email"); | ||
1323 | gchar *url = g_object_get_data (G_OBJECT (tag), "url"); | ||
1324 | |||
1325 | if (email != NULL && activate_email_hook != NULL) | ||
1326 | { | ||
1327 | (* activate_email_hook) (about, email); | ||
1328 | break; | ||
1329 | } | ||
1330 | |||
1331 | if (url != NULL && activate_url_hook != NULL) | ||
1332 | { | ||
1333 | (* activate_url_hook) (about, url); | ||
1334 | break; | ||
1335 | } | ||
1336 | } | ||
1337 | |||
1338 | if (tags) | ||
1339 | g_slist_free (tags); | ||
1340 | } | ||
1341 | |||
1342 | static gboolean | ||
1343 | credits_key_press_event (GtkWidget *text_view, | ||
1344 | GdkEventKey *event, | ||
1345 | GtkAboutDialog *about) | ||
1346 | { | ||
1347 | GtkTextIter iter; | ||
1348 | GtkTextBuffer *buffer; | ||
1349 | |||
1350 | switch (event->keyval) | ||
1351 | { | ||
1352 | case GDK_Return: | ||
1353 | case GDK_KP_Enter: | ||
1354 | buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)); | ||
1355 | gtk_text_buffer_get_iter_at_mark (buffer, &iter, | ||
1356 | gtk_text_buffer_get_insert (buffer)); | ||
1357 | follow_if_link (about, &iter); | ||
1358 | break; | ||
1359 | |||
1360 | default: | ||
1361 | break; | ||
1362 | } | ||
1363 | |||
1364 | return FALSE; | ||
1365 | } | ||
1366 | |||
1367 | static gboolean | ||
1368 | credits_event_after (GtkWidget *text_view, | ||
1369 | GdkEvent *event, | ||
1370 | GtkAboutDialog *about) | ||
1371 | { | ||
1372 | GtkTextIter start, end, iter; | ||
1373 | GtkTextBuffer *buffer; | ||
1374 | GdkEventButton *button_event; | ||
1375 | gint x, y; | ||
1376 | |||
1377 | if (event->type != GDK_BUTTON_RELEASE) | ||
1378 | return FALSE; | ||
1379 | |||
1380 | button_event = (GdkEventButton *)event; | ||
1381 | |||
1382 | if (button_event->button != 1) | ||
1383 | return FALSE; | ||
1384 | |||
1385 | buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)); | ||
1386 | |||
1387 | /* we shouldn't follow a link if the user has selected something */ | ||
1388 | gtk_text_buffer_get_selection_bounds (buffer, &start, &end); | ||
1389 | if (gtk_text_iter_get_offset (&start) != gtk_text_iter_get_offset (&end)) | ||
1390 | return FALSE; | ||
1391 | |||
1392 | gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view), | ||
1393 | GTK_TEXT_WINDOW_WIDGET, | ||
1394 | button_event->x, button_event->y, &x, &y); | ||
1395 | |||
1396 | gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (text_view), &iter, x, y); | ||
1397 | |||
1398 | follow_if_link (about, &iter); | ||
1399 | |||
1400 | return FALSE; | ||
1401 | } | ||
1402 | |||
1403 | static void | ||
1404 | set_cursor_if_appropriate (GtkAboutDialog *about, | ||
1405 | GtkTextView *text_view, | ||
1406 | gint x, | ||
1407 | gint y) | ||
1408 | { | ||
1409 | GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1410 | GSList *tags = NULL, *tagp = NULL; | ||
1411 | GtkTextBuffer *buffer; | ||
1412 | GtkTextIter iter; | ||
1413 | gboolean hovering_over_link = FALSE; | ||
1414 | |||
1415 | buffer = gtk_text_view_get_buffer (text_view); | ||
1416 | |||
1417 | gtk_text_view_get_iter_at_location (text_view, &iter, x, y); | ||
1418 | |||
1419 | tags = gtk_text_iter_get_tags (&iter); | ||
1420 | for (tagp = tags; tagp != NULL; tagp = tagp->next) | ||
1421 | { | ||
1422 | GtkTextTag *tag = tagp->data; | ||
1423 | gchar *email = g_object_get_data (G_OBJECT (tag), "email"); | ||
1424 | gchar *url = g_object_get_data (G_OBJECT (tag), "url"); | ||
1425 | |||
1426 | if (email != NULL || url != NULL) | ||
1427 | { | ||
1428 | hovering_over_link = TRUE; | ||
1429 | break; | ||
1430 | } | ||
1431 | } | ||
1432 | |||
1433 | if (hovering_over_link != priv->hovering_over_link) | ||
1434 | { | ||
1435 | priv->hovering_over_link = hovering_over_link; | ||
1436 | |||
1437 | if (hovering_over_link) | ||
1438 | gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), priv->hand_cursor); | ||
1439 | else | ||
1440 | gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), priv->regular_cursor); | ||
1441 | } | ||
1442 | |||
1443 | if (tags) | ||
1444 | g_slist_free (tags); | ||
1445 | } | ||
1446 | |||
1447 | static gboolean | ||
1448 | credits_motion_notify_event (GtkWidget *text_view, | ||
1449 | GdkEventMotion *event, | ||
1450 | GtkAboutDialog *about) | ||
1451 | { | ||
1452 | gint x, y; | ||
1453 | |||
1454 | gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view), | ||
1455 | GTK_TEXT_WINDOW_WIDGET, | ||
1456 | event->x, event->y, &x, &y); | ||
1457 | |||
1458 | set_cursor_if_appropriate (about, GTK_TEXT_VIEW (text_view), x, y); | ||
1459 | |||
1460 | gdk_window_get_pointer (text_view->window, NULL, NULL, NULL); | ||
1461 | |||
1462 | return FALSE; | ||
1463 | } | ||
1464 | |||
1465 | |||
1466 | static gboolean | ||
1467 | credits_visibility_notify_event (GtkWidget *text_view, | ||
1468 | GdkEventVisibility *event, | ||
1469 | GtkAboutDialog *about) | ||
1470 | { | ||
1471 | gint wx, wy, bx, by; | ||
1472 | |||
1473 | gdk_window_get_pointer (text_view->window, &wx, &wy, NULL); | ||
1474 | |||
1475 | gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view), | ||
1476 | GTK_TEXT_WINDOW_WIDGET, | ||
1477 | wx, wy, &bx, &by); | ||
1478 | |||
1479 | set_cursor_if_appropriate (about, GTK_TEXT_VIEW (text_view), bx, by); | ||
1480 | |||
1481 | return FALSE; | ||
1482 | } | ||
1483 | |||
1484 | static void | ||
1485 | add_credits_page (GtkAboutDialog *about, | ||
1486 | GtkWidget *notebook, | ||
1487 | gchar *title, | ||
1488 | gchar **people) | ||
1489 | { | ||
1490 | gchar **p; | ||
1491 | gchar *q0, *q1, *q2, *r1, *r2; | ||
1492 | GtkWidget *sw, *view; | ||
1493 | GtkTextBuffer *buffer; | ||
1494 | GtkStyle *style; | ||
1495 | gboolean linkify_email, linkify_urls; | ||
1496 | GdkColor *style_link_color; | ||
1497 | GdkColor link_color = { 0, 0, 0, 0xffff }; | ||
1498 | |||
1499 | linkify_email = (activate_email_hook != NULL); | ||
1500 | linkify_urls = (activate_url_hook != NULL); | ||
1501 | |||
1502 | gtk_widget_ensure_style (GTK_WIDGET (about)); | ||
1503 | gtk_widget_style_get (GTK_WIDGET (about), "link_color", &style_link_color, NULL); | ||
1504 | if (style_link_color) | ||
1505 | { | ||
1506 | link_color = *style_link_color; | ||
1507 | gdk_color_free (style_link_color); | ||
1508 | } | ||
1509 | |||
1510 | view = gtk_text_view_new (); | ||
1511 | buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); | ||
1512 | gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view), FALSE); | ||
1513 | gtk_text_view_set_editable (GTK_TEXT_VIEW (view), FALSE); | ||
1514 | gtk_text_view_set_left_margin (GTK_TEXT_VIEW (view), 8); | ||
1515 | gtk_text_view_set_right_margin (GTK_TEXT_VIEW (view), 8); | ||
1516 | |||
1517 | g_signal_connect (G_OBJECT (view), "key-press-event", | ||
1518 | G_CALLBACK (credits_key_press_event), about); | ||
1519 | g_signal_connect (G_OBJECT (view), "event-after", | ||
1520 | G_CALLBACK (credits_event_after), about); | ||
1521 | g_signal_connect (G_OBJECT (view), "motion-notify-event", | ||
1522 | G_CALLBACK (credits_motion_notify_event), about); | ||
1523 | g_signal_connect (G_OBJECT (view), "visibility-notify-event", | ||
1524 | G_CALLBACK (credits_visibility_notify_event), about); | ||
1525 | |||
1526 | style = gtk_widget_get_style (view); | ||
1527 | gtk_widget_modify_base (view, GTK_STATE_NORMAL, | ||
1528 | &style->base[GTK_STATE_INSENSITIVE]); | ||
1529 | |||
1530 | sw = gtk_scrolled_window_new (NULL, NULL); | ||
1531 | gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), | ||
1532 | GTK_POLICY_AUTOMATIC, | ||
1533 | GTK_POLICY_AUTOMATIC); | ||
1534 | gtk_container_add (GTK_CONTAINER (sw), view); | ||
1535 | |||
1536 | gtk_notebook_append_page (GTK_NOTEBOOK (notebook), | ||
1537 | sw, gtk_label_new (title)); | ||
1538 | |||
1539 | if (people == NULL) | ||
1540 | { | ||
1541 | gtk_widget_hide (view); | ||
1542 | return; | ||
1543 | } | ||
1544 | else | ||
1545 | gtk_widget_show (view); | ||
1546 | |||
1547 | for (p = people; *p; p++) | ||
1548 | { | ||
1549 | q0 = *p; | ||
1550 | while (*q0) | ||
1551 | { | ||
1552 | q1 = linkify_email ? strchr (q0, '<') : NULL; | ||
1553 | q2 = q1 ? strchr (q1, '>') : NULL; | ||
1554 | r1 = linkify_urls ? strstr (q0, "http://") : NULL; | ||
1555 | r2 = r1 ? (strpbrk (r1, " \n\t") ? : strchr (r1, '\0')) : NULL; | ||
1556 | |||
1557 | if (r1 && r2 && (!q1 || !q2 || (r1 < q1))) | ||
1558 | { | ||
1559 | q1 = r1; | ||
1560 | q2 = r2; | ||
1561 | } | ||
1562 | |||
1563 | if (q1 && q2) | ||
1564 | { | ||
1565 | GtkTextIter end; | ||
1566 | gchar *link; | ||
1567 | gchar *link_type; | ||
1568 | GtkTextTag *tag; | ||
1569 | |||
1570 | gtk_text_buffer_insert_at_cursor (buffer, q0, q1 - q0); | ||
1571 | gtk_text_buffer_get_end_iter (buffer, &end); | ||
1572 | |||
1573 | q0 = q2; | ||
1574 | |||
1575 | if (*q1 == '<') | ||
1576 | { | ||
1577 | q1++; | ||
1578 | q0++; | ||
1579 | link_type = "email"; | ||
1580 | } | ||
1581 | else | ||
1582 | link_type = "url"; | ||
1583 | |||
1584 | link = g_strndup (q1, q2 - q1); | ||
1585 | tag = gtk_text_buffer_create_tag (buffer, NULL, | ||
1586 | "foreground_gdk", &link_color, | ||
1587 | "underline", PANGO_UNDERLINE_SINGLE, | ||
1588 | NULL); | ||
1589 | g_object_set_data_full (G_OBJECT (tag), link_type, g_strdup (link), g_free); | ||
1590 | gtk_text_buffer_insert_with_tags (buffer, &end, link, -1, tag, NULL); | ||
1591 | |||
1592 | g_free (link); | ||
1593 | } | ||
1594 | else | ||
1595 | { | ||
1596 | gtk_text_buffer_insert_at_cursor (buffer, q0, -1); | ||
1597 | break; | ||
1598 | } | ||
1599 | } | ||
1600 | |||
1601 | if (p[1]) | ||
1602 | gtk_text_buffer_insert_at_cursor (buffer, "\n", 1); | ||
1603 | } | ||
1604 | } | ||
1605 | |||
1606 | static void | ||
1607 | display_credits_dialog (GtkWidget *button, | ||
1608 | gpointer data) | ||
1609 | { | ||
1610 | GtkAboutDialog *about = (GtkAboutDialog *)data; | ||
1611 | GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1612 | GtkWidget *dialog, *notebook; | ||
1613 | |||
1614 | if (priv->credits_dialog != NULL) | ||
1615 | { | ||
1616 | gtk_window_present (GTK_WINDOW (priv->credits_dialog)); | ||
1617 | return; | ||
1618 | } | ||
1619 | |||
1620 | dialog = gtk_dialog_new_with_buttons (gettext_noop("Credits"), | ||
1621 | GTK_WINDOW (about), | ||
1622 | GTK_DIALOG_DESTROY_WITH_PARENT, | ||
1623 | GTK_STOCK_OK, GTK_RESPONSE_OK, | ||
1624 | NULL); | ||
1625 | priv->credits_dialog = dialog; | ||
1626 | gtk_window_set_default_size (GTK_WINDOW (dialog), 360, 260); | ||
1627 | gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); | ||
1628 | |||
1629 | gtk_window_set_modal (GTK_WINDOW (dialog), | ||
1630 | gtk_window_get_modal (GTK_WINDOW (about))); | ||
1631 | |||
1632 | g_signal_connect (dialog, "response", | ||
1633 | G_CALLBACK (gtk_widget_destroy), dialog); | ||
1634 | g_signal_connect (dialog, "destroy", | ||
1635 | G_CALLBACK (gtk_widget_destroyed), | ||
1636 | &(priv->credits_dialog)); | ||
1637 | |||
1638 | notebook = gtk_notebook_new (); | ||
1639 | gtk_container_set_border_width (GTK_CONTAINER (notebook), 8); | ||
1640 | gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), notebook, TRUE, TRUE, 0); | ||
1641 | |||
1642 | if (priv->authors != NULL) | ||
1643 | add_credits_page (about, notebook, gettext_noop("Written by"), priv->authors); | ||
1644 | |||
1645 | if (priv->documenters != NULL) | ||
1646 | add_credits_page (about, notebook, gettext_noop("Documented by"), priv->documenters); | ||
1647 | |||
1648 | if (priv->translator_credits != NULL) | ||
1649 | { | ||
1650 | gchar *translators[2]; | ||
1651 | |||
1652 | translators[0] = priv->translator_credits; | ||
1653 | translators[1] = NULL; | ||
1654 | |||
1655 | add_credits_page (about, notebook, gettext_noop("Translated by"), translators); | ||
1656 | } | ||
1657 | |||
1658 | if (priv->artists != NULL) | ||
1659 | add_credits_page (about, notebook, gettext_noop("Artwork by"), priv->artists); | ||
1660 | |||
1661 | gtk_widget_show_all (dialog); | ||
1662 | } | ||
1663 | |||
1664 | static void | ||
1665 | display_license_dialog (GtkWidget *button, | ||
1666 | gpointer data) | ||
1667 | { | ||
1668 | GtkAboutDialog *about = (GtkAboutDialog *)data; | ||
1669 | GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data; | ||
1670 | GtkWidget *dialog, *view, *sw; | ||
1671 | |||
1672 | if (priv->license_dialog != NULL) | ||
1673 | { | ||
1674 | gtk_window_present (GTK_WINDOW (priv->license_dialog)); | ||
1675 | return; | ||
1676 | } | ||
1677 | |||
1678 | dialog = gtk_dialog_new_with_buttons (gettext_noop("License"), | ||
1679 | GTK_WINDOW (about), | ||
1680 | GTK_DIALOG_DESTROY_WITH_PARENT, | ||
1681 | GTK_STOCK_OK, GTK_RESPONSE_OK, | ||
1682 | NULL); | ||
1683 | priv->license_dialog = dialog; | ||
1684 | gtk_window_set_default_size (GTK_WINDOW (dialog), 420, 320); | ||
1685 | gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); | ||
1686 | |||
1687 | gtk_window_set_modal (GTK_WINDOW (dialog), | ||
1688 | gtk_window_get_modal (GTK_WINDOW (about))); | ||
1689 | |||
1690 | g_signal_connect (dialog, "response", | ||
1691 | G_CALLBACK (gtk_widget_destroy), dialog); | ||
1692 | g_signal_connect (dialog, "destroy", | ||
1693 | G_CALLBACK (gtk_widget_destroyed), | ||
1694 | &(priv->license_dialog)); | ||
1695 | |||
1696 | sw = gtk_scrolled_window_new (NULL, NULL); | ||
1697 | gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), | ||
1698 | GTK_POLICY_AUTOMATIC, | ||
1699 | GTK_POLICY_AUTOMATIC); | ||
1700 | gtk_container_set_border_width (GTK_CONTAINER (sw), 8); | ||
1701 | gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), sw, TRUE, TRUE, 0); | ||
1702 | |||
1703 | view = gtk_text_view_new (); | ||
1704 | gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)), | ||
1705 | priv->license, -1); | ||
1706 | |||
1707 | gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view), FALSE); | ||
1708 | gtk_text_view_set_editable (GTK_TEXT_VIEW (view), FALSE); | ||
1709 | gtk_text_view_set_left_margin (GTK_TEXT_VIEW (view), 8); | ||
1710 | gtk_text_view_set_right_margin (GTK_TEXT_VIEW (view), 8); | ||
1711 | |||
1712 | gtk_container_add (GTK_CONTAINER (sw), view); | ||
1713 | |||
1714 | gtk_widget_show_all (dialog); | ||
1715 | } | ||
1716 | |||
1717 | /** | ||
1718 | * gtk_about_dialog_new: | ||
1719 | * | ||
1720 | * Creates a new #GtkAboutDialog. | ||
1721 | * | ||
1722 | * Returns: a newly created #GtkAboutDialog | ||
1723 | * | ||
1724 | * Since: 2.6 | ||
1725 | */ | ||
1726 | GtkWidget * | ||
1727 | gtk_about_dialog_new (void) | ||
1728 | { | ||
1729 | GtkAboutDialog *dialog = GTK_ABOUT_DIALOG (g_object_new (GTK_TYPE_ABOUT_DIALOG, NULL)); | ||
1730 | |||
1731 | /* force defaults */ | ||
1732 | gtk_about_dialog_set_name (dialog, NULL); | ||
1733 | gtk_about_dialog_set_logo (dialog, NULL); | ||
1734 | |||
1735 | /* Close dialog on user response */ | ||
1736 | g_signal_connect (G_OBJECT (dialog), | ||
1737 | "response", | ||
1738 | G_CALLBACK (gtk_widget_hide), | ||
1739 | NULL); | ||
1740 | |||
1741 | return GTK_WIDGET (dialog); | ||
1742 | } | ||
1743 | |||
1744 | /** | ||
1745 | * gtk_about_dialog_set_email_hook: | ||
1746 | * @func: a function to call when an email link is activated. | ||
1747 | * | ||
1748 | * Installs a global function to be called whenever the user activates an | ||
1749 | * email link in an about dialog. | ||
1750 | * | ||
1751 | * Return value: the previous email hook. | ||
1752 | * | ||
1753 | * Since: 2.6 | ||
1754 | */ | ||
1755 | GtkAboutDialogActivateLinkFunc | ||
1756 | gtk_about_dialog_set_email_hook (GtkAboutDialogActivateLinkFunc func) | ||
1757 | { | ||
1758 | GtkAboutDialogActivateLinkFunc old; | ||
1759 | |||
1760 | old = activate_email_hook; | ||
1761 | |||
1762 | activate_email_hook = func; | ||
1763 | |||
1764 | return old; | ||
1765 | } | ||
1766 | |||
1767 | /** | ||
1768 | * gtk_about_dialog_set_email_hook: | ||
1769 | * @func: a function to call when a URL link is activated. | ||
1770 | * | ||
1771 | * Installs a global function to be called whenever the user activates a | ||
1772 | * URL link in an about dialog. | ||
1773 | * | ||
1774 | * Return value: the previous URL hook. | ||
1775 | * | ||
1776 | * Since: 2.6 | ||
1777 | */ | ||
1778 | GtkAboutDialogActivateLinkFunc | ||
1779 | gtk_about_dialog_set_url_hook (GtkAboutDialogActivateLinkFunc func) | ||
1780 | { | ||
1781 | GtkAboutDialogActivateLinkFunc old; | ||
1782 | |||
1783 | old = activate_url_hook; | ||
1784 | |||
1785 | activate_url_hook = func; | ||
1786 | |||
1787 | return old; | ||
1788 | } | ||
1789 | |||
1790 | /** | ||
1791 | * gtk_show_about_dialog: | ||
1792 | * @parent: transient parent, or %NULL for none | ||
1793 | * @first_property_name: the name of the first property | ||
1794 | * @Varargs: value of first property, followed by more properties, %NULL-terminated | ||
1795 | * | ||
1796 | * This is a convenience function for showing an application's about box. | ||
1797 | * | ||
1798 | * Since: 2.6 | ||
1799 | */ | ||
1800 | void | ||
1801 | gtk_show_about_dialog (GtkWindow *parent, | ||
1802 | const gchar *first_property_name, | ||
1803 | ...) | ||
1804 | { | ||
1805 | static GtkWidget *global_about_dialog = NULL; | ||
1806 | GtkWidget *dialog = NULL; | ||
1807 | va_list var_args; | ||
1808 | |||
1809 | if (parent) | ||
1810 | dialog = g_object_get_data (G_OBJECT (parent), "gtk-about-dialog"); | ||
1811 | else | ||
1812 | dialog = global_about_dialog; | ||
1813 | |||
1814 | if (!dialog) | ||
1815 | { | ||
1816 | dialog = gtk_about_dialog_new (); | ||
1817 | |||
1818 | g_object_ref (G_OBJECT (dialog)); | ||
1819 | gtk_object_sink (GTK_OBJECT (dialog)); | ||
1820 | |||
1821 | g_signal_connect (dialog, "delete_event", G_CALLBACK (gtk_widget_hide_on_delete), NULL); | ||
1822 | |||
1823 | va_start (var_args, first_property_name); | ||
1824 | g_object_set_valist (G_OBJECT (dialog), first_property_name, var_args); | ||
1825 | va_end (var_args); | ||
1826 | |||
1827 | if (parent) | ||
1828 | { | ||
1829 | gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); | ||
1830 | g_object_set_data_full (G_OBJECT (parent), "gtk-about-dialog", | ||
1831 | dialog, g_object_unref); | ||
1832 | } | ||
1833 | else | ||
1834 | global_about_dialog = dialog; | ||
1835 | |||
1836 | } | ||
1837 | |||
1838 | gtk_window_present (GTK_WINDOW (dialog)); | ||
1839 | } | ||
1840 | |||
1841 | |||
1842 | |||
1843 | |||
1844 | |||
1845 | |||
1846 | |||
diff --git a/src/gtk26about.h b/src/gtk26about.h deleted file mode 100644 index 1f986302..00000000 --- a/src/gtk26about.h +++ /dev/null | |||
@@ -1,117 +0,0 @@ | |||
1 | /* This code was copied from GTK (2.6/CVS). | ||
2 | |||
3 | GTK - The GIMP Toolkit | ||
4 | |||
5 | Copyright (C) 2001 CodeFactory AB | ||
6 | Copyright (C) 2001 Anders Carlsson <andersca@codefactory.se> | ||
7 | Copyright (C) 2003, 2004 Matthias Clasen <mclasen@redhat.com> | ||
8 | |||
9 | This library is free software; you can redistribute it and/or | ||
10 | modify it under the terms of the GNU Library General Public License as | ||
11 | published by the Free Software Foundation; either version 2 of the | ||
12 | License, or (at your option) any later version. | ||
13 | |||
14 | This library is distributed in the hope that it will be useful, | ||
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | Library General Public License for more details. | ||
18 | |||
19 | You should have received a copy of the GNU Library General Public | ||
20 | License along with the Gnome Library; see the file COPYING.LIB. If not, | ||
21 | write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
22 | Boston, MA 02111-1307, USA. | ||
23 | |||
24 | Author: Anders Carlsson <andersca@codefactory.se> | ||
25 | |||
26 | */ | ||
27 | |||
28 | #ifndef __GTK_ABOUT_DIALOG_H__ | ||
29 | #define __GTK_ABOUT_DIALOG_H__ | ||
30 | |||
31 | #include <gtk/gtkdialog.h> | ||
32 | |||
33 | G_BEGIN_DECLS | ||
34 | |||
35 | #define GTK_TYPE_ABOUT_DIALOG (gtk_about_dialog_get_type ()) | ||
36 | #define GTK_ABOUT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialog)) | ||
37 | #define GTK_ABOUT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass)) | ||
38 | #define GTK_IS_ABOUT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_ABOUT_DIALOG)) | ||
39 | #define GTK_IS_ABOUT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ABOUT_DIALOG)) | ||
40 | #define GTK_ABOUT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ABOUT_DIALOG, GtkAboutDialogClass)) | ||
41 | |||
42 | typedef struct _GtkAboutDialog GtkAboutDialog; | ||
43 | typedef struct _GtkAboutDialogClass GtkAboutDialogClass; | ||
44 | |||
45 | struct _GtkAboutDialog | ||
46 | { | ||
47 | GtkDialog parent_instance; | ||
48 | |||
49 | /*< private >*/ | ||
50 | gpointer private_data; | ||
51 | }; | ||
52 | |||
53 | struct _GtkAboutDialogClass | ||
54 | { | ||
55 | GtkDialogClass parent_class; | ||
56 | |||
57 | /* Padding for future expansion */ | ||
58 | void (*_gtk_reserved1) (void); | ||
59 | void (*_gtk_reserved2) (void); | ||
60 | void (*_gtk_reserved3) (void); | ||
61 | void (*_gtk_reserved4) (void); | ||
62 | }; | ||
63 | |||
64 | GType gtk_about_dialog_get_type (void) G_GNUC_CONST; | ||
65 | GtkWidget *gtk_about_dialog_new (void); | ||
66 | void gtk_show_about_dialog (GtkWindow *parent, | ||
67 | const gchar *first_property_name, | ||
68 | ...); | ||
69 | |||
70 | G_CONST_RETURN gchar *gtk_about_dialog_get_name (GtkAboutDialog *about); | ||
71 | void gtk_about_dialog_set_name (GtkAboutDialog *about, | ||
72 | const gchar *name); | ||
73 | G_CONST_RETURN gchar *gtk_about_dialog_get_version (GtkAboutDialog *about); | ||
74 | void gtk_about_dialog_set_version (GtkAboutDialog *about, | ||
75 | const gchar *version); | ||
76 | G_CONST_RETURN gchar *gtk_about_dialog_get_copyright (GtkAboutDialog *about); | ||
77 | void gtk_about_dialog_set_copyright (GtkAboutDialog *about, | ||
78 | const gchar *copyright); | ||
79 | G_CONST_RETURN gchar *gtk_about_dialog_get_comments (GtkAboutDialog *about); | ||
80 | void gtk_about_dialog_set_comments (GtkAboutDialog *about, | ||
81 | const gchar *comments); | ||
82 | G_CONST_RETURN gchar *gtk_about_dialog_get_license (GtkAboutDialog *about); | ||
83 | void gtk_about_dialog_set_license (GtkAboutDialog *about, | ||
84 | const gchar *license); | ||
85 | G_CONST_RETURN gchar *gtk_about_dialog_get_website (GtkAboutDialog *about); | ||
86 | void gtk_about_dialog_set_website (GtkAboutDialog *about, | ||
87 | const gchar *website); | ||
88 | G_CONST_RETURN gchar *gtk_about_dialog_get_website_label (GtkAboutDialog *about); | ||
89 | void gtk_about_dialog_set_website_label (GtkAboutDialog *about, | ||
90 | const gchar *website_label); | ||
91 | gchar **gtk_about_dialog_get_authors (GtkAboutDialog *about); | ||
92 | void gtk_about_dialog_set_authors (GtkAboutDialog *about, | ||
93 | gchar **authors); | ||
94 | gchar **gtk_about_dialog_get_documenters (GtkAboutDialog *about); | ||
95 | void gtk_about_dialog_set_documenters (GtkAboutDialog *about, | ||
96 | gchar **documenters); | ||
97 | gchar ** gtk_about_dialog_get_artists (GtkAboutDialog *about); | ||
98 | void gtk_about_dialog_set_artists (GtkAboutDialog *about, | ||
99 | gchar **artists); | ||
100 | G_CONST_RETURN gchar *gtk_about_dialog_get_translator_credits (GtkAboutDialog *about); | ||
101 | void gtk_about_dialog_set_translator_credits (GtkAboutDialog *about, | ||
102 | const gchar *translator_credits); | ||
103 | GdkPixbuf *gtk_about_dialog_get_logo (GtkAboutDialog *about); | ||
104 | void gtk_about_dialog_set_logo (GtkAboutDialog *about, | ||
105 | GdkPixbuf *logo); | ||
106 | |||
107 | typedef void (* GtkAboutDialogActivateLinkFunc) (GtkAboutDialog *about, | ||
108 | const gchar *link); | ||
109 | |||
110 | GtkAboutDialogActivateLinkFunc gtk_about_dialog_set_email_hook (GtkAboutDialogActivateLinkFunc func); | ||
111 | GtkAboutDialogActivateLinkFunc gtk_about_dialog_set_url_hook (GtkAboutDialogActivateLinkFunc func); | ||
112 | |||
113 | G_END_DECLS | ||
114 | |||
115 | #endif /* __GTK_ABOUT_DIALOG_H__ */ | ||
116 | |||
117 | |||
@@ -2,10 +2,8 @@ High priority: | |||
2 | * figure out how list views work | 2 | * figure out how list views work |
3 | * basic FS integration: | 3 | * basic FS integration: |
4 | - search: | 4 | - search: |
5 | + properly get page from glade window | ||
6 | + properly initialize tree view | ||
7 | + process search result events | 5 | + process search result events |
8 | + process search frame close event | 6 | + process search frame close event (memory leak) |
9 | + support namespace URIs | 7 | + support namespace URIs |
10 | + update namespace list combo box | 8 | + update namespace list combo box |
11 | - insert | 9 | - insert |
@@ -17,6 +15,7 @@ Important: | |||
17 | * available apps | 15 | * available apps |
18 | 16 | ||
19 | Later: | 17 | Later: |
18 | * add widgets to allow anonymity level specification | ||
20 | * more help-texts | 19 | * more help-texts |
21 | * pop-up dialogs | 20 | * pop-up dialogs |
22 | * chat | 21 | * chat |
@@ -24,7 +23,8 @@ Later: | |||
24 | 23 | ||
25 | 24 | ||
26 | gnunet-gtk wishlist (from pre-0.7.0 days): | 25 | gnunet-gtk wishlist (from pre-0.7.0 days): |
27 | 26 | - #770? (use freedback (LOG) in gnunet-gtk via show-messages) | |
27 | (is this not working nicely already?) | ||
28 | - while (!) downloading directory, display already received results | 28 | - while (!) downloading directory, display already received results |
29 | for download (now supported by libecrs!) | 29 | for download (now supported by libecrs!) |
30 | - add option to list all indexed files and perhaps delete from them | 30 | - add option to list all indexed files and perhaps delete from them |