mirror of
https://github.com/TakeV-Lambda/Tooth.git
synced 2024-09-27 13:13:20 +00:00
Implement #86
This commit is contained in:
parent
439bd763a4
commit
5ca9db1839
|
@ -29,7 +29,7 @@
|
||||||
<default>20</default>
|
<default>20</default>
|
||||||
</key>
|
</key>
|
||||||
<key name="post-text-size" type="i">
|
<key name="post-text-size" type="i">
|
||||||
<default>0</default>
|
<default>100</default>
|
||||||
</key>
|
</key>
|
||||||
<key name="live-updates" type="b">
|
<key name="live-updates" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<requires lib="gtk+" version="3.22"/>
|
<requires lib="gtk+" version="3.22"/>
|
||||||
<requires lib="libhandy" version="0.0"/>
|
<requires lib="libhandy" version="0.0"/>
|
||||||
<template class="TootleDialogsPreferences" parent="HdyPreferencesWindow">
|
<template class="TootleDialogsPreferences" parent="HdyPreferencesWindow">
|
||||||
<property name="default_height">600</property>
|
<property name="default_height">400</property>
|
||||||
<property name="default_width">500</property>
|
<property name="default_width">500</property>
|
||||||
<property name="width_request">300</property>
|
<property name="width_request">300</property>
|
||||||
<!--<property name="search_enabled">false</property>-->
|
<!--<property name="search_enabled">false</property>-->
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
<object class="HdyActionRow">
|
<object class="HdyActionRow">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="activatable_widget">post_text_size</property>
|
<property name="activatable_widget">post_text_size</property>
|
||||||
<property name="title" translatable="yes">Post text size</property>
|
<property name="title" translatable="yes">Post text size (%)</property>
|
||||||
<child type="action">
|
<child type="action">
|
||||||
<object class="GtkSpinButton" id="post_text_size">
|
<object class="GtkSpinButton" id="post_text_size">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -174,10 +174,10 @@
|
||||||
<property name="step-increment">1</property>
|
<property name="step-increment">1</property>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkAdjustment" id="font_adjustment">
|
<object class="GtkAdjustment" id="font_adjustment">
|
||||||
<property name="lower">0</property>
|
<property name="lower">100</property>
|
||||||
<property name="upper">50</property>
|
<property name="upper">500</property>
|
||||||
<property name="page-increment">1</property>
|
<property name="page-increment">10</property>
|
||||||
<property name="step-increment">1</property>
|
<property name="step-increment">10</property>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
</interface>
|
</interface>
|
||||||
|
|
|
@ -45,7 +45,6 @@ executable(
|
||||||
'src/API/Attachment.vala',
|
'src/API/Attachment.vala',
|
||||||
'src/Widgets/Avatar.vala',
|
'src/Widgets/Avatar.vala',
|
||||||
'src/Widgets/AccountsButton.vala',
|
'src/Widgets/AccountsButton.vala',
|
||||||
'src/Widgets/AlignedLabel.vala',
|
|
||||||
'src/Widgets/RichLabel.vala',
|
'src/Widgets/RichLabel.vala',
|
||||||
'src/Widgets/Status.vala',
|
'src/Widgets/Status.vala',
|
||||||
'src/Widgets/Notification.vala',
|
'src/Widgets/Notification.vala',
|
||||||
|
|
|
@ -4,6 +4,8 @@ using Gdk;
|
||||||
[GtkTemplate (ui = "/com/github/bleakgrey/tootle/ui/dialogs/main.ui")]
|
[GtkTemplate (ui = "/com/github/bleakgrey/tootle/ui/dialogs/main.ui")]
|
||||||
public class Tootle.Dialogs.MainWindow: Gtk.Window, ISavedWindow {
|
public class Tootle.Dialogs.MainWindow: Gtk.Window, ISavedWindow {
|
||||||
|
|
||||||
|
public const string ZOOM_CLASS = "app-scalable";
|
||||||
|
|
||||||
[GtkChild]
|
[GtkChild]
|
||||||
protected Stack view_stack;
|
protected Stack view_stack;
|
||||||
[GtkChild]
|
[GtkChild]
|
||||||
|
@ -22,11 +24,9 @@ public class Tootle.Dialogs.MainWindow: Gtk.Window, ISavedWindow {
|
||||||
|
|
||||||
Views.Base? last_view = null;
|
Views.Base? last_view = null;
|
||||||
|
|
||||||
construct {
|
CssProvider zoom_css_provider = new CssProvider ();
|
||||||
var provider = new Gtk.CssProvider ();
|
|
||||||
provider.load_from_resource (@"$(Build.RESOURCES)app.css");
|
|
||||||
StyleContext.add_provider_for_screen (Screen.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
|
||||||
|
|
||||||
|
construct {
|
||||||
back_button.clicked.connect (() => back ());
|
back_button.clicked.connect (() => back ());
|
||||||
Desktop.set_hotkey_tooltip (back_button, _("Back"), app.ACCEL_BACK);
|
Desktop.set_hotkey_tooltip (back_button, _("Back"), app.ACCEL_BACK);
|
||||||
|
|
||||||
|
@ -43,6 +43,13 @@ public class Tootle.Dialogs.MainWindow: Gtk.Window, ISavedWindow {
|
||||||
add_timeline_view (new Views.Federated (), app.ACCEL_TIMELINE_3, 3);
|
add_timeline_view (new Views.Federated (), app.ACCEL_TIMELINE_3, 3);
|
||||||
|
|
||||||
settings.bind_property ("dark-theme", Gtk.Settings.get_default (), "gtk-application-prefer-dark-theme", BindingFlags.SYNC_CREATE);
|
settings.bind_property ("dark-theme", Gtk.Settings.get_default (), "gtk-application-prefer-dark-theme", BindingFlags.SYNC_CREATE);
|
||||||
|
settings.notify["post-text-size"].connect (() => on_zoom_level_changed ());
|
||||||
|
|
||||||
|
var provider = new Gtk.CssProvider ();
|
||||||
|
provider.load_from_resource (@"$(Build.RESOURCES)app.css");
|
||||||
|
StyleContext.add_provider_for_screen (Screen.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||||
|
StyleContext.add_provider_for_screen (Screen.get_default (), zoom_css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||||
|
on_zoom_level_changed ();
|
||||||
|
|
||||||
button_press_event.connect (on_button_press);
|
button_press_event.connect (on_button_press);
|
||||||
update_header ();
|
update_header ();
|
||||||
|
@ -143,4 +150,19 @@ public class Tootle.Dialogs.MainWindow: Gtk.Window, ISavedWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void on_zoom_level_changed () {
|
||||||
|
var css ="""
|
||||||
|
.%s {
|
||||||
|
font-size: %i%;
|
||||||
|
}
|
||||||
|
""".printf (ZOOM_CLASS, settings.post_text_size);
|
||||||
|
|
||||||
|
try {
|
||||||
|
zoom_css_provider.load_from_data (css);
|
||||||
|
}
|
||||||
|
catch (Error e) {
|
||||||
|
warning (@"Can't set zoom level: $(e.message)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
using Gtk;
|
|
||||||
|
|
||||||
public class Tootle.Widgets.AlignedLabel : Label {
|
|
||||||
|
|
||||||
public AlignedLabel (string text) {
|
|
||||||
label = text;
|
|
||||||
halign = Align.END;
|
|
||||||
//margin_start = 12;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -13,6 +13,7 @@ public class Tootle.Widgets.RichLabel : Label {
|
||||||
single_line_mode = false;
|
single_line_mode = false;
|
||||||
set_line_wrap (true);
|
set_line_wrap (true);
|
||||||
activate_link.connect (open_link);
|
activate_link.connect (open_link);
|
||||||
|
get_style_context ().add_class (Dialogs.MainWindow.ZOOM_CLASS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RichLabel (string text) {
|
public RichLabel (string text) {
|
||||||
|
|
Loading…
Reference in a new issue