Skip to content

Commit

Permalink
Fixed-size notes support
Browse files Browse the repository at this point in the history
  • Loading branch information
qmaldon committed Sep 5, 2022
1 parent 0f393e4 commit 3d3c892
Show file tree
Hide file tree
Showing 137 changed files with 62,158 additions and 45,398 deletions.
767 changes: 443 additions & 324 deletions po/af.po

Large diffs are not rendered by default.

763 changes: 444 additions & 319 deletions po/am.po

Large diffs are not rendered by default.

786 changes: 455 additions & 331 deletions po/ar.po

Large diffs are not rendered by default.

828 changes: 469 additions & 359 deletions po/as.po

Large diffs are not rendered by default.

770 changes: 448 additions & 322 deletions po/ast.po

Large diffs are not rendered by default.

759 changes: 441 additions & 318 deletions po/az.po

Large diffs are not rendered by default.

779 changes: 454 additions & 325 deletions po/be.po

Large diffs are not rendered by default.

786 changes: 456 additions & 330 deletions po/bg.po

Large diffs are not rendered by default.

854 changes: 482 additions & 372 deletions po/bn.po

Large diffs are not rendered by default.

854 changes: 483 additions & 371 deletions po/bn_IN.po

Large diffs are not rendered by default.

787 changes: 457 additions & 330 deletions po/br.po

Large diffs are not rendered by default.

771 changes: 448 additions & 323 deletions po/bs.po

Large diffs are not rendered by default.

795 changes: 459 additions & 336 deletions po/ca.po

Large diffs are not rendered by default.

791 changes: 458 additions & 333 deletions po/ca@valencia.po

Large diffs are not rendered by default.

794 changes: 467 additions & 327 deletions po/cmn.po

Large diffs are not rendered by default.

770 changes: 447 additions & 323 deletions po/crh.po

Large diffs are not rendered by default.

774 changes: 451 additions & 323 deletions po/cs.po

Large diffs are not rendered by default.

778 changes: 451 additions & 327 deletions po/cy.po

Large diffs are not rendered by default.

778 changes: 452 additions & 326 deletions po/da.po

Large diffs are not rendered by default.

787 changes: 458 additions & 329 deletions po/de.po

Large diffs are not rendered by default.

956 changes: 514 additions & 442 deletions po/dz.po

Large diffs are not rendered by default.

795 changes: 460 additions & 335 deletions po/el.po

Large diffs are not rendered by default.

769 changes: 448 additions & 321 deletions po/en_AU.po

Large diffs are not rendered by default.

759 changes: 442 additions & 317 deletions po/en_CA.po

Large diffs are not rendered by default.

769 changes: 448 additions & 321 deletions po/en_GB.po

Large diffs are not rendered by default.

768 changes: 446 additions & 322 deletions po/eo.po

Large diffs are not rendered by default.

796 changes: 461 additions & 335 deletions po/es.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_AR.po

Large diffs are not rendered by default.

799 changes: 460 additions & 339 deletions po/es_CL.po

Large diffs are not rendered by default.

809 changes: 466 additions & 343 deletions po/es_CO.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_CR.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_DO.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_EC.po

Large diffs are not rendered by default.

797 changes: 460 additions & 337 deletions po/es_ES.po

Large diffs are not rendered by default.

804 changes: 463 additions & 341 deletions po/es_MX.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_NI.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_PA.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_PE.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_PR.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_SV.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_UY.po

Large diffs are not rendered by default.

800 changes: 461 additions & 339 deletions po/es_VE.po

Large diffs are not rendered by default.

787 changes: 457 additions & 330 deletions po/et.po

Large diffs are not rendered by default.

774 changes: 451 additions & 323 deletions po/eu.po

Large diffs are not rendered by default.

813 changes: 467 additions & 346 deletions po/fa.po

Large diffs are not rendered by default.

777 changes: 451 additions & 326 deletions po/fi.po

Large diffs are not rendered by default.

780 changes: 454 additions & 326 deletions po/fr.po

Large diffs are not rendered by default.

742 changes: 424 additions & 318 deletions po/fr_CA.po

Large diffs are not rendered by default.

742 changes: 424 additions & 318 deletions po/frp.po

Large diffs are not rendered by default.

742 changes: 425 additions & 317 deletions po/fur.po

Large diffs are not rendered by default.

745 changes: 427 additions & 318 deletions po/fy.po

Large diffs are not rendered by default.

748 changes: 429 additions & 319 deletions po/ga.po

Large diffs are not rendered by default.

791 changes: 460 additions & 331 deletions po/gl.po

Large diffs are not rendered by default.

840 changes: 476 additions & 364 deletions po/gu.po

Large diffs are not rendered by default.

742 changes: 425 additions & 317 deletions po/ha.po

Large diffs are not rendered by default.

765 changes: 446 additions & 319 deletions po/he.po

Large diffs are not rendered by default.

851 changes: 480 additions & 371 deletions po/hi.po

Large diffs are not rendered by default.

782 changes: 452 additions & 330 deletions po/hr.po

Large diffs are not rendered by default.

792 changes: 460 additions & 332 deletions po/hu.po

Large diffs are not rendered by default.

779 changes: 454 additions & 325 deletions po/hy.po

Large diffs are not rendered by default.

771 changes: 449 additions & 322 deletions po/id.po

Large diffs are not rendered by default.

757 changes: 439 additions & 318 deletions po/ie.po

Large diffs are not rendered by default.

742 changes: 425 additions & 317 deletions po/ig.po

Large diffs are not rendered by default.

763 changes: 443 additions & 320 deletions po/is.po

Large diffs are not rendered by default.

788 changes: 456 additions & 332 deletions po/it.po

Large diffs are not rendered by default.

853 changes: 511 additions & 342 deletions po/ja.po

Large diffs are not rendered by default.

2,414 changes: 1,415 additions & 999 deletions po/jv.po

Large diffs are not rendered by default.

762 changes: 442 additions & 320 deletions po/ka.po

Large diffs are not rendered by default.

742 changes: 425 additions & 317 deletions po/kab.po

Large diffs are not rendered by default.

746 changes: 427 additions & 319 deletions po/kk.po

Large diffs are not rendered by default.

2,036 changes: 1,159 additions & 877 deletions po/km.po

Large diffs are not rendered by default.

851 changes: 484 additions & 367 deletions po/kn.po

Large diffs are not rendered by default.

834 changes: 496 additions & 338 deletions po/ko.po

Large diffs are not rendered by default.

775 changes: 449 additions & 326 deletions po/ku.po

Large diffs are not rendered by default.

751 changes: 432 additions & 319 deletions po/ku_IQ.po

Large diffs are not rendered by default.

748 changes: 431 additions & 317 deletions po/ky.po

Large diffs are not rendered by default.

740 changes: 423 additions & 317 deletions po/li.po

Large diffs are not rendered by default.

776 changes: 453 additions & 323 deletions po/lt.po

Large diffs are not rendered by default.

767 changes: 447 additions & 320 deletions po/lv.po

Large diffs are not rendered by default.

819 changes: 465 additions & 354 deletions po/mai.po

Large diffs are not rendered by default.

785 changes: 455 additions & 330 deletions po/mg.po

Large diffs are not rendered by default.

2,368 changes: 1,394 additions & 974 deletions po/mi.po

Large diffs are not rendered by default.

769 changes: 444 additions & 325 deletions po/mk.po

Large diffs are not rendered by default.

876 changes: 487 additions & 389 deletions po/ml.po

Large diffs are not rendered by default.

753 changes: 437 additions & 316 deletions po/mn.po

Large diffs are not rendered by default.

838 changes: 477 additions & 361 deletions po/mr.po

Large diffs are not rendered by default.

782 changes: 454 additions & 328 deletions po/ms.po

Large diffs are not rendered by default.

801 changes: 464 additions & 337 deletions po/nb.po

Large diffs are not rendered by default.

742 changes: 425 additions & 317 deletions po/nds.po

Large diffs are not rendered by default.

854 changes: 479 additions & 375 deletions po/ne.po

Large diffs are not rendered by default.

783 changes: 455 additions & 328 deletions po/nl.po

Large diffs are not rendered by default.

777 changes: 452 additions & 325 deletions po/nn.po

Large diffs are not rendered by default.

745 changes: 427 additions & 318 deletions po/nso.po

Large diffs are not rendered by default.

789 changes: 456 additions & 333 deletions po/oc.po

Large diffs are not rendered by default.

851 changes: 481 additions & 370 deletions po/or.po

Large diffs are not rendered by default.

838 changes: 476 additions & 362 deletions po/pa.po

Large diffs are not rendered by default.

790 changes: 461 additions & 329 deletions po/pl.po

Large diffs are not rendered by default.

739 changes: 422 additions & 317 deletions po/pms.po

Large diffs are not rendered by default.

751 changes: 431 additions & 320 deletions po/ps.po

Large diffs are not rendered by default.

793 changes: 460 additions & 333 deletions po/pt.po

Large diffs are not rendered by default.

804 changes: 469 additions & 335 deletions po/pt_BR.po

Large diffs are not rendered by default.

797 changes: 461 additions & 336 deletions po/ro.po

Large diffs are not rendered by default.

779 changes: 452 additions & 327 deletions po/ru.po

Large diffs are not rendered by default.

741 changes: 424 additions & 317 deletions po/rw.po

Large diffs are not rendered by default.

752 changes: 436 additions & 316 deletions po/si.po

Large diffs are not rendered by default.

772 changes: 449 additions & 323 deletions po/sk.po

Large diffs are not rendered by default.

778 changes: 453 additions & 325 deletions po/sl.po

Large diffs are not rendered by default.

775 changes: 451 additions & 324 deletions po/sq.po

Large diffs are not rendered by default.

774 changes: 451 additions & 323 deletions po/sr.po

Large diffs are not rendered by default.

778 changes: 452 additions & 326 deletions po/sr@latin.po

Large diffs are not rendered by default.

776 changes: 452 additions & 324 deletions po/sv.po

Large diffs are not rendered by default.

874 changes: 493 additions & 381 deletions po/ta.po

Large diffs are not rendered by default.

848 changes: 476 additions & 372 deletions po/te.po

Large diffs are not rendered by default.

809 changes: 457 additions & 352 deletions po/th.po

Large diffs are not rendered by default.

741 changes: 424 additions & 317 deletions po/tk.po

Large diffs are not rendered by default.

784 changes: 456 additions & 328 deletions po/tr.po

Large diffs are not rendered by default.

767 changes: 446 additions & 321 deletions po/ug.po

Large diffs are not rendered by default.

779 changes: 454 additions & 325 deletions po/uk.po

Large diffs are not rendered by default.

791 changes: 457 additions & 334 deletions po/ur.po

Large diffs are not rendered by default.

748 changes: 431 additions & 317 deletions po/uz.po

Large diffs are not rendered by default.

784 changes: 454 additions & 330 deletions po/vi.po

Large diffs are not rendered by default.

743 changes: 428 additions & 315 deletions po/wa.po

Large diffs are not rendered by default.

775 changes: 449 additions & 326 deletions po/xh.po

Large diffs are not rendered by default.

2,367 changes: 1,393 additions & 974 deletions po/yi.po

Large diffs are not rendered by default.

742 changes: 425 additions & 317 deletions po/yo.po

Large diffs are not rendered by default.

791 changes: 466 additions & 325 deletions po/zh_CN.po

Large diffs are not rendered by default.

793 changes: 466 additions & 327 deletions po/zh_HK.po

Large diffs are not rendered by default.

803 changes: 474 additions & 329 deletions po/zh_TW.po

Large diffs are not rendered by default.

746 changes: 427 additions & 319 deletions po/zu.po

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions stickynotes/org.mate.stickynotes.gschema.xml.in
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,10 @@
<summary>Whether to ask for confirmation when deleting a note</summary>
<description>Empty notes are always deleted without confirmation.</description>
</key>
<key name="fixed-size" type="b">
<default>false</default>
<summary>Whether to prevent note resizing on all notes</summary>
<description>If this option is enabled, resizing is restricted on all notes.</description>
</key>
</schema>
</schemalist>
17 changes: 17 additions & 0 deletions stickynotes/sticky-notes-preferences.ui
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,23 @@
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="fixed_size_check">
<property name="label" translatable="yes">Force fixed size notes</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Choose whether to restrict notes resizing</property>
<property name="halign">start</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
Expand Down
44 changes: 43 additions & 1 deletion stickynotes/stickynotes.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ static void
buffer_changed (GtkTextBuffer *buffer,
StickyNote *note)
{
if ( (note->h + note->y) > stickynotes->max_height )
if ( (note->h + note->y) > stickynotes->max_height && (!note->force_fixed_size) )
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (note->w_scroller),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);

Expand Down Expand Up @@ -251,6 +251,8 @@ stickynote_new_aux (GdkScreen *screen,
stickynote_set_font (note, NULL, TRUE);
stickynote_set_locked (note, FALSE);

stickynote_set_fixed_size(note, stickynotes->force_fixed_size);

gtk_widget_realize (note->w_window);

/* Connect a popup menu to all buttons and title */
Expand Down Expand Up @@ -750,6 +752,46 @@ stickynote_set_visible (StickyNote *note,
}
}

/* Set forced fixed size */
void stickynote_set_fixed_size (StickyNote *note,
gboolean force_fixed_size)
{
note->force_fixed_size = force_fixed_size;

if (force_fixed_size) {
gint w, h;
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (note->w_scroller),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW (note->w_body),
GTK_WRAP_CHAR);
gtk_widget_set_visible (note->w_resize_se, FALSE);
gtk_widget_set_visible (note->w_resize_sw, FALSE);
if (note->w == 0 || note->h == 0) {
w = g_settings_get_int (stickynotes->settings, "default-width");
h = g_settings_get_int (stickynotes->settings, "default-height");
}
else {
w = note->w;
h = note->h;
}
gtk_window_set_default_size (GTK_WINDOW (note->w_window), w, h);
gtk_window_resize (GTK_WINDOW (note->w_window), w, h);
gtk_window_set_resizable(GTK_WINDOW (note->w_window), FALSE);
}
else {
GtkScrollablePolicy vscroll_pol = GTK_POLICY_NEVER;
if ( (note->h + note->y) > stickynotes->max_height )
vscroll_pol = GTK_POLICY_AUTOMATIC;
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (note->w_scroller),
GTK_POLICY_NEVER, vscroll_pol);
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW (note->w_body),
GTK_WRAP_WORD);
gtk_widget_set_visible (note->w_resize_se, TRUE);
gtk_widget_set_visible (note->w_resize_sw, TRUE);
gtk_window_set_resizable(GTK_WINDOW (note->w_window), TRUE);
}
}

/* Add a sticky note */
void
stickynotes_add (GdkScreen *screen)
Expand Down
3 changes: 3 additions & 0 deletions stickynotes/stickynotes.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ typedef struct
gchar *font_color; /* Font color */
gchar *font; /* Note font */
gboolean locked; /* Note locked state */
gboolean force_fixed_size; /* Note resizing is restricted */

gint x; /* Note x-coordinate */
gint y; /* Note y-coordinate */
Expand Down Expand Up @@ -91,6 +92,8 @@ void stickynote_set_locked (StickyNote *note,
gboolean locked);
void stickynote_set_visible (StickyNote *note,
gboolean visible);
void stickynote_set_fixed_size (StickyNote *note,
gboolean force_fixed_size);

void stickynote_change_properties (StickyNote *note);

Expand Down
14 changes: 13 additions & 1 deletion stickynotes/stickynotes_applet.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,9 @@ stickynotes_applet_init_prefs (void)
stickynotes->w_prefs_desktop =
GTK_WIDGET (&GTK_CHECK_BUTTON (gtk_builder_get_object (stickynotes->builder,
"desktop_hide_check"))->toggle_button);
stickynotes->w_prefs_fixed_size =
GTK_WIDGET (&GTK_CHECK_BUTTON (gtk_builder_get_object (stickynotes->builder,
"fixed_size_check"))->toggle_button);

g_signal_connect (stickynotes->w_prefs, "response",
G_CALLBACK (preferences_response_cb), NULL);
Expand All @@ -287,6 +290,8 @@ stickynotes_applet_init_prefs (void)
G_CALLBACK (preferences_save_cb), NULL);
g_signal_connect_swapped (stickynotes->w_prefs_desktop, "toggled",
G_CALLBACK (preferences_save_cb), NULL);
g_signal_connect_swapped (stickynotes->w_prefs_fixed_size, "toggled",
G_CALLBACK (preferences_save_cb), NULL);

{
GtkSizeGroup *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
Expand Down Expand Up @@ -346,6 +351,8 @@ stickynotes_applet_init_prefs (void)
gtk_widget_set_sensitive (stickynotes->w_prefs_sticky, FALSE);
if (!g_settings_is_writable (stickynotes->settings, "force-default"))
gtk_widget_set_sensitive (stickynotes->w_prefs_force, FALSE);
if (!g_settings_is_writable (stickynotes->settings, "fixed-size"))
gtk_widget_set_sensitive (stickynotes->w_prefs_fixed_size, FALSE);

stickynotes_applet_update_prefs ();
}
Expand Down Expand Up @@ -468,7 +475,7 @@ void
stickynotes_applet_update_prefs (void)
{
gint width, height;
gboolean sys_color, sys_font, sticky, force_default, desktop_hide;
gboolean sys_color, sys_font, sticky, force_default, desktop_hide, fixed_size;
char *font_str;
char *color_str, *font_color_str;
GdkRGBA color, font_color;
Expand All @@ -490,6 +497,8 @@ stickynotes_applet_update_prefs (void)
"force-default");
desktop_hide = g_settings_get_boolean (stickynotes->settings,
"desktop-hide");
fixed_size = g_settings_get_boolean (stickynotes->settings,
"fixed-size");

font_str = g_settings_get_string (stickynotes->settings,
"default-font");
Expand Down Expand Up @@ -524,6 +533,9 @@ stickynotes_applet_update_prefs (void)
force_default);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (stickynotes->w_prefs_desktop),
desktop_hide);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (stickynotes->w_prefs_fixed_size),
fixed_size);
stickynotes->force_fixed_size = fixed_size;

gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (stickynotes->w_prefs_color),
&color);
Expand Down
2 changes: 2 additions & 0 deletions stickynotes/stickynotes_applet.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ typedef struct
GtkWidget *w_prefs_sticky;
GtkWidget *w_prefs_force;
GtkWidget *w_prefs_desktop;
GtkWidget *w_prefs_fixed_size;

GList *notes; /* Linked-List of all the sticky notes */
GList *applets; /* Linked-List of all the applets */
Expand All @@ -63,6 +64,7 @@ typedef struct
guint last_timeout_data;

gboolean visible; /* Toggle show/hide notes */
gboolean force_fixed_size; /* Force fixed size notes */
} StickyNotes;

/* Sticky Notes Applet */
Expand Down
14 changes: 14 additions & 0 deletions stickynotes/stickynotes_applet_callbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,7 @@ preferences_save_cb (gpointer data)
gboolean sticky;
gboolean force_default;
gboolean desktop_hide;
gboolean fixed_size;
gdouble adjustment_value;

adjustment_value = gtk_adjustment_get_value (stickynotes->w_prefs_width);
Expand All @@ -464,6 +465,7 @@ preferences_save_cb (gpointer data)
sticky = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (stickynotes->w_prefs_sticky));
force_default = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (stickynotes->w_prefs_force));
desktop_hide = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (stickynotes->w_prefs_desktop));
fixed_size = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (stickynotes->w_prefs_fixed_size));

if (g_settings_is_writable (stickynotes->settings,
"default-width"))
Expand Down Expand Up @@ -493,6 +495,10 @@ preferences_save_cb (gpointer data)
"desktop-hide"))
g_settings_set_boolean (stickynotes->settings,
"desktop-hide", desktop_hide);
if (g_settings_is_writable (stickynotes->settings,
"fixed-size"))
g_settings_set_boolean (stickynotes->settings,
"fixed-size", fixed_size);
}

/* Preferences Callback : Change color. */
Expand Down Expand Up @@ -599,6 +605,14 @@ preferences_apply_cb (GSettings *settings,
}
}

else if (!strcmp (key, "fixed-size")) {
for (l = stickynotes->notes; l; l = l->next) {
note = l->data;
stickynote_set_fixed_size (note,
stickynotes->force_fixed_size);
}
}

stickynotes_applet_update_prefs ();
stickynotes_applet_update_menus ();
}
Expand Down
3 changes: 3 additions & 0 deletions stickynotes/stickynotes_callbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ gboolean stickynote_resize_cb (GtkWidget *widget,
GdkEventButton *event,
StickyNote *note)
{
if (note->force_fixed_size)
return FALSE;

if (event->type == GDK_BUTTON_PRESS && event->button == 1) {
if (widget == note->w_resize_se)
gtk_window_begin_resize_drag (GTK_WINDOW (note->w_window),
Expand Down

0 comments on commit 3d3c892

Please sign in to comment.