Skins support
This commit is contained in:
@@ -17,10 +17,31 @@ class Themes
|
||||
name = File.basename(File.dirname(path))
|
||||
if data['pack']
|
||||
data['name'] = name
|
||||
data['skin'] = { 'default' => [] }
|
||||
result[name] = data
|
||||
end
|
||||
end
|
||||
|
||||
Dir.glob(Rails.root.join('app', 'javascript', 'skins', '*', '*')) do |path|
|
||||
ext = File.extname(path)
|
||||
skin = File.basename(path)
|
||||
name = File.basename(File.dirname(path))
|
||||
if result[name]
|
||||
if File.directory?(path)
|
||||
pack = []
|
||||
Dir.glob(File.join(path, '*.{css,scss}')) do |sheet|
|
||||
pack.push(File.basename(sheet, File.extname(sheet)))
|
||||
end
|
||||
elsif ext.match?(/^\.s?css$/i)
|
||||
skin = File.basename(path, ext)
|
||||
pack = ['common']
|
||||
end
|
||||
if skin != 'default'
|
||||
result[name]['skin'][skin] = pack
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@core = core
|
||||
@conf = result
|
||||
|
||||
@@ -37,4 +58,8 @@ class Themes
|
||||
def names
|
||||
@conf.keys
|
||||
end
|
||||
|
||||
def skins_for(name)
|
||||
@conf[name]['skin'].keys
|
||||
end
|
||||
end
|
||||
|
@@ -27,6 +27,7 @@ class UserSettingsDecorator
|
||||
user.settings['system_font_ui'] = system_font_ui_preference if change?('setting_system_font_ui')
|
||||
user.settings['noindex'] = noindex_preference if change?('setting_noindex')
|
||||
user.settings['theme'] = theme_preference if change?('setting_theme')
|
||||
user.settings['skin'] = skin_preference if change?('setting_skin')
|
||||
end
|
||||
|
||||
def merged_notification_emails
|
||||
@@ -76,7 +77,11 @@ class UserSettingsDecorator
|
||||
def theme_preference
|
||||
settings['setting_theme']
|
||||
end
|
||||
|
||||
|
||||
def skin_preference
|
||||
settings['setting_skin']
|
||||
end
|
||||
|
||||
def boolean_cast_setting(key)
|
||||
settings[key] == '1'
|
||||
end
|
||||
|
Reference in New Issue
Block a user