feat(cosmic-theme): add color schemes for qt apps
This commit is contained in:
parent
6328c40ef7
commit
a2e903ad94
6 changed files with 677 additions and 3 deletions
|
|
@ -6,6 +6,11 @@ use crate::Theme;
|
|||
/// Module for outputting the Cosmic gtk4 theme type as CSS
|
||||
pub mod gtk4_output;
|
||||
|
||||
/// Module for configuring qt5ct and qt6ct to use our qt theme
|
||||
pub mod qt56ct_output;
|
||||
/// Module for outputting the Cosmic qt theme type as kdeglobals
|
||||
pub mod qt_output;
|
||||
|
||||
pub mod vs_code;
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
|
|
@ -14,32 +19,57 @@ pub enum OutputError {
|
|||
Io(std::io::Error),
|
||||
#[error("Missing config directory")]
|
||||
MissingConfigDir,
|
||||
#[error("Missing data directory")]
|
||||
MissingDataDir,
|
||||
#[error("Serde Error: {0}")]
|
||||
Serde(#[from] serde_json::Error),
|
||||
#[error("Ini Error: {0}")]
|
||||
Ini(String),
|
||||
}
|
||||
|
||||
impl Theme {
|
||||
#[inline]
|
||||
pub fn apply_exports(&self) -> Result<(), OutputError> {
|
||||
let gtk_res = Theme::apply_gtk(self.is_dark);
|
||||
let qt_res = Theme::apply_qt(self.is_dark);
|
||||
let qt56ct_res = Theme::apply_qt56ct(self.is_dark);
|
||||
let vs_res = self.clone().apply_vs_code();
|
||||
gtk_res?;
|
||||
qt_res?;
|
||||
qt56ct_res?;
|
||||
vs_res?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// To avoid rewriting too much code, I replaced calls to `Theme::apply_gtk` with this.
|
||||
/// Note that vscode isn't touched by this function.
|
||||
pub fn apply_exports_static(is_dark: bool) -> Result<(), OutputError> {
|
||||
let gtk_res = Theme::apply_gtk(is_dark);
|
||||
let qt_res = Theme::apply_qt(is_dark);
|
||||
let qt56ct_res = Theme::apply_qt56ct(is_dark);
|
||||
gtk_res?;
|
||||
qt_res?;
|
||||
qt56ct_res?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn write_exports(&self) -> Result<(), OutputError> {
|
||||
let gtk_res = self.write_gtk4();
|
||||
let qt_res = self.write_qt();
|
||||
gtk_res?;
|
||||
qt_res?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn reset_exports() -> Result<(), OutputError> {
|
||||
let gtk_res = Theme::reset_gtk();
|
||||
let qt_res = Theme::reset_qt();
|
||||
let vs_res = Theme::reset_vs_code();
|
||||
gtk_res?;
|
||||
qt_res?;
|
||||
vs_res?;
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue