[gnome-characters] character: Inherit font from character list
- From: Daiki Ueno <dueno src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-characters] character: Inherit font from character list
- Date: Sun, 15 Feb 2015 23:53:27 +0000 (UTC)
commit 38b4a90956cf27f01194ef45f8f89c0e5de690b5
Author: Daiki Ueno <dueno src gnome org>
Date: Mon Feb 16 08:52:35 2015 +0900
character: Inherit font from character list
src/character.js | 32 +++-----------------------------
src/characterList.js | 6 ++++++
src/window.js | 9 +++++----
3 files changed, 14 insertions(+), 33 deletions(-)
---
diff --git a/src/character.js b/src/character.js
index 66f440b..1925702 100644
--- a/src/character.js
+++ b/src/character.js
@@ -33,34 +33,10 @@ const CharacterDialog = new Lang.Class({
Template: 'resource:///org/gnome/Characters/character.ui',
InternalChildren: ['main-stack', 'character-label', 'detail-label',
'copy-button', 'related-listbox'],
- Properties: {
- 'font': GObject.ParamSpec.string(
- 'font', '', '',
- GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE,
- 'Cantarell')
- },
-
- get font() {
- return this._font;
- },
-
- set font(v) {
- if (v == this._font)
- return;
-
- this._font = v;
- let description = Pango.FontDescription.from_string(this._font);
- this._character_label.override_font(description);
-
- let children = this._related_listbox.get_children();
- for (let index in children) {
- let label = children[index].get_children()[0];
- label.override_font(description);
- }
- },
_init: function(params) {
- let filtered = Params.filter(params, { character: null });
+ let filtered = Params.filter(params, { character: null,
+ fontDescription: null });
params = Params.fill(params, { use_header_bar: true,
width_request: 400,
height_request: 400 });
@@ -86,9 +62,7 @@ const CharacterDialog = new Lang.Class({
this._main_stack.visible_child_name = 'character';
}));
- Main.settings.bind('font', this, 'font',
- Gio.SettingsBindFlags.DEFAULT);
-
+ this._character_label.override_font(filtered.fontDescription);
this._setCharacter(filtered.character);
},
diff --git a/src/characterList.js b/src/characterList.js
index 9931830..951e10e 100644
--- a/src/characterList.js
+++ b/src/characterList.js
@@ -295,6 +295,12 @@ const CharacterListView = new Lang.Class({
this._characters = characters;
},
+ getFontDescription: function() {
+ if (this._filterFontDescription)
+ return this._filterFontDescription;
+ return this._fontDescription;
+ },
+
updateCharacterList: function() {
let characters = this._characters;
let fontDescription = this._fontDescription;
diff --git a/src/window.js b/src/window.js
index dc19ae6..b079df8 100644
--- a/src/window.js
+++ b/src/window.js
@@ -204,7 +204,7 @@ const MainWindow = new Lang.Class({
_character: function(action, v) {
let [uc, length] = v.get_string()
- this._mainView.selectCharacter(uc);
+ this._mainView.addToRecent(uc);
},
_filterFont: function(action, v) {
@@ -318,7 +318,7 @@ const MainView = new Lang.Class({
}
},
- selectCharacter: function(uc) {
+ addToRecent: function(uc) {
if (this.recentCharacters.indexOf(uc) < 0) {
this.recentCharacters.push(uc);
if (this.recentCharacters.length > this._maxRecentCharacters)
@@ -331,12 +331,13 @@ const MainView = new Lang.Class({
},
_handleCharacterSelected: function(widget, uc) {
- this.selectCharacter(uc);
+ this.addToRecent(uc);
let dialog = new Character.CharacterDialog({
character: uc,
modal: true,
- transient_for: this.get_toplevel()
+ transient_for: this.get_toplevel(),
+ fontDescription: this.visible_child.getFontDescription()
});
dialog.show();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]