some fixes

This commit is contained in:
Artem Anufrij 2017-08-01 00:24:50 +02:00
parent c6c23a6850
commit 405bdb8e34
5 changed files with 17 additions and 18 deletions

View file

@ -54,7 +54,7 @@ namespace Webpin {
return; return;
} }
mainwindow = new MainWindow (); mainwindow = new MainWindow ();
mainwindow.set_application(this); mainwindow.set_application(this);
} }
} }

View file

@ -41,6 +41,7 @@ namespace Webpin {
Type=Application Type=Application
Categories=Network; Categories=Network;
X-GNOME-FullName=webpin X-GNOME-FullName=webpin
StartupWMClass=Webpin
WebpinThemeColor=none"""; WebpinThemeColor=none""";
private GLib.KeyFile file; private GLib.KeyFile file;

View file

@ -62,8 +62,8 @@ namespace Webpin {
add_button.tooltip_text = _("Add a new Web App"); add_button.tooltip_text = _("Add a new Web App");
headerbar.pack_start (add_button); headerbar.pack_start (add_button);
var welcome = new Granite.Widgets.Welcome (_("No Web Apps Availible"), _("Create a new Webby Web App.")); var welcome = new Granite.Widgets.Welcome (_("No Web Apps Availible"), _("Create a new Webpin Web App."));
welcome.append ("document-new", _("Create App"), _("Create a new Webby web app.")); welcome.append ("document-new", _("Create App"), _("Create a new Webpin web app."));
welcome.activated.connect ((index) => { welcome.activated.connect ((index) => {
switch (index) { switch (index) {
case 0: case 0:

View file

@ -108,7 +108,7 @@ namespace Webpin {
//load theme color saved in desktop file //load theme color saved in desktop file
if (info != null && info.has_key("WebpinThemeColor")) { if (info != null && info.has_key("WebpinThemeColor")) {
var color = info.get_string("WebpinThemeColor"); var color = info.get_string("WebpinThemeColor");
print("COLOR: " + color+"\n"); debug("COLOR: " + color+"\n");
if(color != "none") { if(color != "none") {
ui_color = color; ui_color = color;
} }
@ -124,7 +124,7 @@ namespace Webpin {
//update theme color if changed //update theme color if changed
app_view.load_changed.connect ( (load_event) => { app_view.load_changed.connect ( (load_event) => {
if (load_event == WebKit.LoadEvent.FINISHED) { if (load_event == WebKit.LoadEvent.FINISHED) {
print("determine color"); debug ("determine color");
determine_theme_color.begin(); determine_theme_color.begin();
} else { } else {
container.set_visible(true); container.set_visible(true);
@ -149,24 +149,22 @@ namespace Webpin {
});*/ });*/
uint8[] data = {0, 0, 0}; Cairo.ImageSurface snap = null;
int snap_width = 0;
try {
var snap = (Cairo.ImageSurface) yield app_view.get_snapshot (WebKit.SnapshotRegion.VISIBLE, WebKit.SnapshotOptions.NONE, null);
// data ist in BGRA apparently (according to testing). Docs said ARGB, but that try {
// appears not to be the case snap = (Cairo.ImageSurface) yield app_view.get_snapshot (WebKit.SnapshotRegion.VISIBLE, WebKit.SnapshotOptions.NONE, null);
data = snap.get_data ();
snap_width = snap.get_width ();
} catch (Error e) { } catch (Error e) {
warning (e.message); warning (e.message);
} }
// data ist in BGRA apparently (according to testing). Docs said ARGB, but that
// appears not to be the case
unowned uint8[] data = snap.get_data ();
uint8 r = data[2]; uint8 r = data[2];
uint8 g = data[1]; uint8 g = data[1];
uint8 b = data[0]; uint8 b = data[0];
for (var i = 4; i < snap_width * 3 * 4; i += 4) { for (var i = 4; i < snap.get_width () * 3 * 4; i += 4) {
r = (r + data[i + 2]) / 2; r = (r + data[i + 2]) / 2;
g = (g + data[i + 1]) / 2; g = (g + data[i + 1]) / 2;
b = (b + data[i + 0]) / 2; b = (b + data[i + 0]) / 2;

View file

@ -50,7 +50,7 @@ namespace Webpin {
//style //style
if (web_app.ui_color != "none") { if (web_app.ui_color != "none") {
try { try {
print("set color"); debug ("set color");
var style_cp = style_str.replace ("@titlebar_color", web_app.ui_color); var style_cp = style_str.replace ("@titlebar_color", web_app.ui_color);
var style_provider = new Gtk.CssProvider (); var style_provider = new Gtk.CssProvider ();
style_provider.load_from_data (style_cp, -1); style_provider.load_from_data (style_cp, -1);
@ -63,7 +63,7 @@ namespace Webpin {
web_app.theme_color_changed.connect( (color)=> { web_app.theme_color_changed.connect( (color)=> {
try { try {
print("set color"); debug ("set color");
var style_cp = style_str.replace ("@titlebar_color", color); var style_cp = style_str.replace ("@titlebar_color", color);
var style_provider = new Gtk.CssProvider (); var style_provider = new Gtk.CssProvider ();
style_provider.load_from_data (style_cp, -1); style_provider.load_from_data (style_cp, -1);
@ -92,14 +92,14 @@ namespace Webpin {
this.destroy.connect(Gtk.main_quit); this.destroy.connect(Gtk.main_quit);
web_app.external_request.connect ( () => { web_app.external_request.connect ( () => {
print("Web app external request\n"); debug ("Web app external request\n");
web_app.set_transition_type (Gtk.StackTransitionType.SLIDE_LEFT); web_app.set_transition_type (Gtk.StackTransitionType.SLIDE_LEFT);
headerbar.set_title_mode (WebBar.title_mode.BROWSER); headerbar.set_title_mode (WebBar.title_mode.BROWSER);
web_app.set_visible_child_name ("external"); web_app.set_visible_child_name ("external");
}); });
headerbar.back_event.connect ( () => { headerbar.back_event.connect ( () => {
print ("back"); debug ("back");
headerbar.set_title_mode (WebBar.title_mode.TITLE); headerbar.set_title_mode (WebBar.title_mode.TITLE);
web_app.set_transition_type (Gtk.StackTransitionType.SLIDE_RIGHT); web_app.set_transition_type (Gtk.StackTransitionType.SLIDE_RIGHT);
web_app.set_visible_child_name ("app"); web_app.set_visible_child_name ("app");