summaryrefslogtreecommitdiff
path: root/virtManager
diff options
context:
space:
mode:
Diffstat (limited to 'virtManager')
-rw-r--r--virtManager/addhardware.py7
-rw-r--r--virtManager/clone.py4
-rw-r--r--virtManager/config.py42
-rw-r--r--virtManager/createnet.py4
-rw-r--r--virtManager/createpool.py4
-rw-r--r--virtManager/createvm.py15
-rw-r--r--virtManager/createvol.py4
-rw-r--r--virtManager/delete.py6
-rw-r--r--virtManager/details/snapshots.py4
-rw-r--r--virtManager/device/addstorage.py2
-rw-r--r--virtManager/hoststorage.py2
-rw-r--r--virtManager/lib/graphwidgets.py7
-rw-r--r--virtManager/manager.py2
-rw-r--r--virtManager/migrate.py6
14 files changed, 57 insertions, 52 deletions
diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
index 8b996bb0..80624655 100644
--- a/virtManager/addhardware.py
+++ b/virtManager/addhardware.py
@@ -7,7 +7,6 @@
import traceback
from gi.repository import Gtk
-from gi.repository import Gdk
from virtinst import (DeviceChannel, DeviceConsole,
DeviceController, DeviceDisk, DeviceGraphics, DeviceHostdev,
@@ -173,9 +172,6 @@ class vmmAddHardware(vmmGObjectUI):
self.widget("create-pages").set_show_tabs(False)
self.widget("top-pages").set_show_tabs(False)
- blue = Gdk.color_parse("#0072A8")
- self.widget("page-title-box").modify_bg(Gtk.StateType.NORMAL, blue)
-
hw_col = Gtk.TreeViewColumn(_("Hardware"))
hw_col.set_spacing(6)
hw_col.set_min_width(165)
@@ -1098,8 +1094,7 @@ class vmmAddHardware(vmmGObjectUI):
def _set_page_title(self, page):
title = self._dev_to_title(page)
- markup = "<span size='large' color='white'>%s</span>" % title
- self.widget("page-title-label").set_markup(markup)
+ self.widget("page-title-label").set_markup(title)
def _xmleditor_xml_requested_cb(self, src):
dev = self._build_device(check_xmleditor=False)
diff --git a/virtManager/clone.py b/virtManager/clone.py
index 1179acee..2ad43f65 100644
--- a/virtManager/clone.py
+++ b/virtManager/clone.py
@@ -7,7 +7,6 @@
import os
from gi.repository import Gtk
-from gi.repository import Gdk
import virtinst
from virtinst import Cloner
@@ -233,9 +232,6 @@ class vmmCloneVM(vmmGObjectUI):
# First time setup
def _init_ui(self):
- blue = Gdk.Color.parse("#0072A8")[1]
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
context = self.topwin.get_style_context()
defcolor = context.get_background_color(Gtk.StateType.NORMAL)
self.widget("storage-viewport").override_background_color(
diff --git a/virtManager/config.py b/virtManager/config.py
index fb2fc2b9..d340f767 100644
--- a/virtManager/config.py
+++ b/virtManager/config.py
@@ -17,6 +17,29 @@ from .lib.inspection import vmmInspection
from .lib.keyring import vmmKeyring, vmmSecret
+CSSDATA = """
+/* Lighter colored text in some wizard summary fields */
+.vmm-lighter {
+ color: @insensitive_fg_color
+}
+
+/* Text on the blue header in our wizards */
+.vmm-header-text {
+ color: white
+}
+
+/* Subtext on the blue header in our wizards */
+.vmm-header-subtext {
+ color: #59B0E2
+}
+
+/* The blue header */
+.vmm-header {
+ background-color: #0072A8
+}
+"""
+
+
class _SettingsWrapper(object):
"""
Wrapper class to simplify interacting with gsettings APIs.
@@ -185,6 +208,25 @@ class vmmConfig(object):
self.default_add_spice_usbredir = "yes"
self._objects = []
+ self.color_insensitive = None
+ self._init_css()
+
+ def _init_css(self):
+ from gi.repository import Gdk
+ screen = Gdk.Screen.get_default()
+
+ css_provider = Gtk.CssProvider()
+ css_provider.load_from_data(CSSDATA.encode("utf-8"))
+
+ context = Gtk.StyleContext()
+ context.add_provider_for_screen(screen, css_provider,
+ Gtk.STYLE_PROVIDER_PRIORITY_USER)
+
+ found, color = context.lookup_color("insensitive_fg_color")
+ if not found:
+ log.debug("Didn't find insensitive_fg_color in theme")
+ return
+ self.color_insensitive = color.to_string()
# General app wide helpers (gsettings agnostic)
diff --git a/virtManager/createnet.py b/virtManager/createnet.py
index 87792d35..dd6ef298 100644
--- a/virtManager/createnet.py
+++ b/virtManager/createnet.py
@@ -7,7 +7,6 @@
import ipaddress
from gi.repository import Gtk
-from gi.repository import Gdk
from gi.repository import Pango
import libvirt
@@ -90,9 +89,6 @@ class vmmCreateNetwork(vmmGObjectUI):
###########
def set_initial_state(self):
- blue = Gdk.Color.parse("#0072A8")[1]
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
# [ dev name, label ]
pf_list = self.widget("net-hostdevs")
pf_model = Gtk.ListStore(str, str)
diff --git a/virtManager/createpool.py b/virtManager/createpool.py
index 635ad173..4cfa28dd 100644
--- a/virtManager/createpool.py
+++ b/virtManager/createpool.py
@@ -6,7 +6,6 @@
import os
-from gi.repository import Gdk
from gi.repository import Gtk
from virtinst import log
@@ -87,9 +86,6 @@ class vmmCreatePool(vmmGObjectUI):
model.append([typ, "%s: %s" % (typ, desc)])
def _init_ui(self):
- blue = Gdk.Color.parse("#0072A8")[1]
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
format_list = self.widget("pool-format")
format_model = Gtk.ListStore(str, str)
format_list.set_model(format_model)
diff --git a/virtManager/createvm.py b/virtManager/createvm.py
index 46319c39..19eeb559 100644
--- a/virtManager/createvm.py
+++ b/virtManager/createvm.py
@@ -10,7 +10,6 @@ import os
import threading
import time
-from gi.repository import Gdk
from gi.repository import Gtk
from gi.repository import Pango
@@ -261,9 +260,6 @@ class vmmCreateVM(vmmGObjectUI):
self.widget("create-pages").set_show_tabs(False)
self.widget("install-method-pages").set_show_tabs(False)
- blue = Gdk.Color.parse("#0072A8")[1]
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
# Connection list
self.widget("create-conn-label").set_text("")
self.widget("startup-error").set_text("")
@@ -591,8 +587,7 @@ class vmmCreateVM(vmmGObjectUI):
memory = int(self.conn.host_memory_size())
mem_label = (_("Up to %(maxmem)s available on the host") %
{'maxmem': _pretty_memory(memory)})
- mem_label = ("<span size='small' color='#484848'>%s</span>" %
- mem_label)
+ mem_label = ("<span size='small'>%s</span>" % mem_label)
self.widget("mem").set_range(50, memory // 1024)
self.widget("phys-mem-label").set_markup(mem_label)
@@ -603,8 +598,7 @@ class vmmCreateVM(vmmGObjectUI):
cmax = 1
cpu_label = (_("Up to %(numcpus)d available") %
{'numcpus': int(phys_cpus)})
- cpu_label = ("<span size='small' color='#484848'>%s</span>" %
- cpu_label)
+ cpu_label = ("<span size='small'>%s</span>" % cpu_label)
self.widget("cpus").set_range(1, cmax)
self.widget("phys-cpu-label").set_markup(cpu_label)
@@ -885,7 +879,7 @@ class vmmCreateVM(vmmGObjectUI):
###############################
def _populate_summary_storage(self, path=None):
- storagetmpl = "<span size='small' color='#484848'>%s</span>"
+ storagetmpl = "<span size='small'>%s</span>"
storagesize = ""
storagepath = ""
@@ -1290,8 +1284,7 @@ class vmmCreateVM(vmmGObjectUI):
final -= 1
cur = min(cur, final)
- page_lbl = ("<span color='#59B0E2'>%s</span>" %
- _("Step %(current_page)d of %(max_page)d") %
+ page_lbl = (_("Step %(current_page)d of %(max_page)d") %
{'current_page': cur, 'max_page': final})
self.widget("header-pagenum").set_markup(page_lbl)
diff --git a/virtManager/createvol.py b/virtManager/createvol.py
index 2f8f0e1b..75623acc 100644
--- a/virtManager/createvol.py
+++ b/virtManager/createvol.py
@@ -5,7 +5,6 @@
# See the COPYING file in the top-level directory.
from gi.repository import Gtk
-from gi.repository import Gdk
from virtinst import log
from virtinst import StorageVolume
@@ -108,9 +107,6 @@ class vmmCreateVolume(vmmGObjectUI):
###########
def _init_state(self):
- blue = Gdk.color_parse("#0072A8")
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
format_list = self.widget("vol-format")
format_model = Gtk.ListStore(str, str)
format_list.set_model(format_model)
diff --git a/virtManager/delete.py b/virtManager/delete.py
index 47056017..18c22255 100644
--- a/virtManager/delete.py
+++ b/virtManager/delete.py
@@ -9,7 +9,6 @@ import stat
import traceback
from gi.repository import Gtk
-from gi.repository import Gdk
from gi.repository import Pango
import virtinst
@@ -62,9 +61,6 @@ class _vmmDeleteBase(vmmGObjectUI):
def _init_state(self):
- blue = Gdk.Color.parse("#0072A8")[1]
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
_prepare_storage_list(self.widget("delete-storage-list"))
def show(self, parent, vm):
@@ -101,7 +97,7 @@ class _vmmDeleteBase(vmmGObjectUI):
# Set VM name or disk.target in title'
text = self._get_dialog_text()
- title_str = ("<span size='large' color='white'>%s</span>" %
+ title_str = ("<span size='large'>%s</span>" %
xmlutil.xml_escape(text))
self.widget("header-label").set_markup(title_str)
diff --git a/virtManager/details/snapshots.py b/virtManager/details/snapshots.py
index c2aecd93..f2cd8178 100644
--- a/virtManager/details/snapshots.py
+++ b/virtManager/details/snapshots.py
@@ -9,7 +9,6 @@ import glob
import io
import os
-from gi.repository import Gdk
from gi.repository import GdkPixbuf
from gi.repository import Gtk
from gi.repository import Pango
@@ -110,9 +109,6 @@ class vmmSnapshotNew(vmmGObjectUI):
###########
def _init_ui(self):
- blue = Gdk.color_parse("#0072A8")
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
buf = Gtk.TextBuffer()
self.widget("snapshot-new-description").set_buffer(buf)
diff --git a/virtManager/device/addstorage.py b/virtManager/device/addstorage.py
index 55b1a13b..6b03f665 100644
--- a/virtManager/device/addstorage.py
+++ b/virtManager/device/addstorage.py
@@ -64,7 +64,7 @@ class vmmAddStorage(vmmGObjectUI):
hd_label = (_("%s available in the default location") %
pretty_storage(max_storage))
- hd_label = ("<span color='#484848'>%s</span>" % hd_label)
+ hd_label = ("<span>%s</span>" % hd_label)
widget.set_markup(hd_label)
diff --git a/virtManager/hoststorage.py b/virtManager/hoststorage.py
index 64222b35..f44a0371 100644
--- a/virtManager/hoststorage.py
+++ b/virtManager/hoststorage.py
@@ -51,7 +51,7 @@ def _get_pool_size_percent(pool):
per = 0
else:
per = int(((float(alloc) / float(cap)) * 100))
- return "<span size='small' color='#484848'>%s%%</span>" % int(per)
+ return "<span size='small'>%s%%</span>" % int(per)
class vmmHostStorage(vmmGObjectUI):
diff --git a/virtManager/lib/graphwidgets.py b/virtManager/lib/graphwidgets.py
index ae86e41e..f4c3d3f7 100644
--- a/virtManager/lib/graphwidgets.py
+++ b/virtManager/lib/graphwidgets.py
@@ -9,6 +9,8 @@ from gi.repository import Gtk
# pylint: disable=arguments-differ
# Newer pylint can detect, but warns that overridden arguments are wrong
+BASECOLOR = Gtk.StyleContext().lookup_color("theme_base_color")[1]
+
def rect_print(name, rect):
# For debugging
@@ -162,8 +164,8 @@ class CellRendererSparkline(Gtk.CellRenderer):
cell_area.height - (BORDER_PADDING * 2))
cr.stroke()
- # Fill in white box inside graph outline
- cr.set_source_rgb(1, 1, 1)
+ # Fill in basecolor box inside graph outline
+ cr.set_source_rgb(BASECOLOR.red, BASECOLOR.green, BASECOLOR.blue)
cr.rectangle(cell_area.x + BORDER_PADDING,
cell_area.y + BORDER_PADDING,
border_width,
@@ -205,6 +207,7 @@ class CellRendererSparkline(Gtk.CellRenderer):
# Set color to light blue for the fill
cr.set_source_rgba(0.71484375, 0.84765625, 0.89453125, .5)
+
draw_fill(cr,
cell_area.x, cell_area.y,
cell_area.width, cell_area.height,
diff --git a/virtManager/manager.py b/virtManager/manager.py
index c40123e4..29d7fb80 100644
--- a/virtManager/manager.py
+++ b/virtManager/manager.py
@@ -595,7 +595,7 @@ class vmmManager(vmmGObjectUI):
def _build_conn_color(self, conn):
color = None
if conn.is_disconnected():
- color = "#5b5b5b"
+ color = self.config.color_insensitive
return color
def _build_vm_markup(self, name, status):
diff --git a/virtManager/migrate.py b/virtManager/migrate.py
index a8ad209f..04ae7f1d 100644
--- a/virtManager/migrate.py
+++ b/virtManager/migrate.py
@@ -6,7 +6,6 @@
import traceback
-from gi.repository import Gdk
from gi.repository import Gtk
from gi.repository import Pango
@@ -104,9 +103,6 @@ class vmmMigrateDialog(vmmGObjectUI):
################
def _init_state(self):
- blue = Gdk.color_parse("#0072A8")
- self.widget("header").modify_bg(Gtk.StateType.NORMAL, blue)
-
# Connection combo
cols = [None] * NUM_COLS
cols[COL_LABEL] = str
@@ -153,7 +149,7 @@ class vmmMigrateDialog(vmmGObjectUI):
self.widget("migrate-temporary-label").get_tooltip_text())
def _reset_state(self):
- title_str = ("<span size='large' color='white'>%s '%s'</span>" %
+ title_str = ("<span size='large'>%s '%s'</span>" %
(_("Migrate"), xmlutil.xml_escape(self.vm.get_name())))
self.widget("header-label").set_markup(title_str)