mirror of
				https://github.com/Swordfish90/cool-retro-term.git
				synced 2025-10-31 07:04:20 +00:00 
			
		
		
		
	Changing font doesn't reload the entire window.
This commit is contained in:
		| @@ -51,10 +51,10 @@ Item{ | |||||||
|     onFont_scalingChanged: handleFontChanged(); |     onFont_scalingChanged: handleFontChanged(); | ||||||
|  |  | ||||||
|     function handleFontChanged(){ |     function handleFontChanged(){ | ||||||
|         terminalwindowloader.source = ""; |         terminal.source = ""; | ||||||
|         currentfont.source = fontlist.get(font_index).source; |         currentfont.source = fontlist.get(font_index).source; | ||||||
|         currentfont.pixelSize = fontlist.get(font_index).pixelSize; |         currentfont.pixelSize = fontlist.get(font_index).pixelSize; | ||||||
|         terminalwindowloader.source = "TerminalWindow.qml"; |         terminal.source = "Terminal.qml"; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     FontLoader{ |     FontLoader{ | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								app/Terminal.qml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								app/Terminal.qml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | import QtQuick 2.0 | ||||||
|  |  | ||||||
|  | import org.kde.konsole 0.1 | ||||||
|  |  | ||||||
|  | KTerminal { | ||||||
|  |     font.pointSize: shadersettings.fontSize | ||||||
|  |     font.family: shadersettings.font.name | ||||||
|  |  | ||||||
|  |     colorScheme: "WhiteOnBlack" | ||||||
|  |  | ||||||
|  |     session: KSession { | ||||||
|  |         id: ksession | ||||||
|  |         kbScheme: "linux" | ||||||
|  |  | ||||||
|  |         onFinished: { | ||||||
|  |             Qt.quit() | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     Component.onCompleted: { | ||||||
|  |         font.pointSize = shadersettings.fontSize; | ||||||
|  |         font.family = shadersettings.font.name; | ||||||
|  |         console.log(shadersettings.font.name); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     Component.onDestruction: console.log("Destroy") | ||||||
|  | } | ||||||
							
								
								
									
										96
									
								
								app/main.qml
									
									
									
									
									
								
							
							
						
						
									
										96
									
								
								app/main.qml
									
									
									
									
									
								
							| @@ -21,17 +21,103 @@ | |||||||
| import QtQuick 2.1 | import QtQuick 2.1 | ||||||
| import QtQuick.Window 2.0 | import QtQuick.Window 2.0 | ||||||
| import QtQuick.Controls 1.0 | import QtQuick.Controls 1.0 | ||||||
|  | import QtGraphicalEffects 1.0 | ||||||
|  |  | ||||||
| import org.kde.konsole 0.1 | import org.kde.konsole 0.1 | ||||||
|  |  | ||||||
| Item{ | ApplicationWindow{ | ||||||
|     ShaderSettings{ |     id: terminalWindow | ||||||
|         id: shadersettings |     width: 1024 | ||||||
|         Component.onCompleted: terminalwindowloader.source = "TerminalWindow.qml" |     height: 768 | ||||||
|  |  | ||||||
|  |     title: qsTr("Terminal") | ||||||
|  |  | ||||||
|  |     Action { | ||||||
|  |         id: fullscreenAction | ||||||
|  |         text: "&Fullscreen" | ||||||
|  |         shortcut: "Alt+F11" | ||||||
|  |         onTriggered: shadersettings.fullscreen = !shadersettings.fullscreen; | ||||||
|  |     } | ||||||
|  |     Action { | ||||||
|  |         id: quitAction | ||||||
|  |         text: "&Quit" | ||||||
|  |         shortcut: "Ctrl+Q" | ||||||
|  |         onTriggered: terminalWindow.close(); | ||||||
|  |     } | ||||||
|  |     Action{ | ||||||
|  |         id: showsettingsAction | ||||||
|  |         text: "&Settings" | ||||||
|  |         onTriggered: settingswindow.show(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     menuBar: MenuBar { | ||||||
|  |         id: menubar | ||||||
|  |  | ||||||
|  |         Menu { | ||||||
|  |             title: qsTr("File") | ||||||
|  |             visible: shadersettings.fullscreen ? false : true | ||||||
|  |             MenuItem {action: quitAction} | ||||||
|  |         } | ||||||
|  |         Menu { | ||||||
|  |             title: qsTr("Edit") | ||||||
|  |             visible: shadersettings.fullscreen ? false : true | ||||||
|  |             MenuItem {action: showsettingsAction} | ||||||
|  |             MenuItem {action: fullscreenAction} | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     visible: true | ||||||
|  |     visibility: shadersettings.fullscreen ? Window.FullScreen : Window.Windowed | ||||||
|  |  | ||||||
|  |     Item{ | ||||||
|  |         id: maincontainer | ||||||
|  |         anchors.fill: parent | ||||||
|  |         clip: true | ||||||
|  |  | ||||||
|  |         ShaderEffectSource{ | ||||||
|  |             id: theSource | ||||||
|  |             sourceItem: terminal | ||||||
|  |             sourceRect: frame.sourceRect | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         ShaderManager{ | ||||||
|  |             id: shadercontainer | ||||||
|  |             anchors.fill: terminal | ||||||
|  |             blending: true | ||||||
|  |             z: 1.9 | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Loader{ |         Loader{ | ||||||
|         id: terminalwindowloader |             property rect sourceRect: item.sourceRect | ||||||
|  |  | ||||||
|  |             id: frame | ||||||
|  |             anchors.fill: parent | ||||||
|  |             z: 2.1 | ||||||
|  |             source: shadersettings.frame_source | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Loader{ | ||||||
|  |             id: terminal | ||||||
|  |             width: parent.width | ||||||
|  |             height: parent.height | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         RadialGradient{ | ||||||
|  |             id: ambientreflection | ||||||
|  |             z: 2.0 | ||||||
|  |             anchors.fill: parent | ||||||
|  |             cached: true | ||||||
|  |             opacity: shadersettings.ambient_light * 0.66 | ||||||
|  |             gradient: Gradient{ | ||||||
|  |                 GradientStop{position: 0.0; color: "white"} | ||||||
|  |                 GradientStop{position: 0.7; color: "#00000000"} | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     ShaderSettings{ | ||||||
|  |         id: shadersettings | ||||||
|  |         Component.onCompleted: terminal.source = "Terminal.qml" | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     SettingsWindow{ |     SettingsWindow{ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user