Add xournalpp
This commit is contained in:
		
							parent
							
								
									9126385cbb
								
							
						
					
					
						commit
						90bde009e8
					
				@ -13,6 +13,12 @@
 | 
			
		||||
    # calibre
 | 
			
		||||
    goldendict
 | 
			
		||||
 | 
			
		||||
    (xournalpp.overrideDerivation (_: {
 | 
			
		||||
      patches = [
 | 
			
		||||
        ./xournalpp-cursor-blink.patch
 | 
			
		||||
      ];
 | 
			
		||||
    }))
 | 
			
		||||
 | 
			
		||||
    vscode
 | 
			
		||||
    ccls
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										69
									
								
								xournalpp-cursor-blink.patch
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										69
									
								
								xournalpp-cursor-blink.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,69 @@
 | 
			
		||||
commit 92e4041efb6165505a8729968648392d7b5ff459
 | 
			
		||||
Author: Gabriel Ebner <gebner@gebner.org>
 | 
			
		||||
Date:   Sun Aug 16 19:47:52 2020 +0200
 | 
			
		||||
 | 
			
		||||
    Allow the user to disable cursor blinking.
 | 
			
		||||
    
 | 
			
		||||
    This uses the same setting which is also used by the built-in text entry
 | 
			
		||||
    widget.
 | 
			
		||||
 | 
			
		||||
diff --git a/src/gui/TextEditor.cpp b/src/gui/TextEditor.cpp
 | 
			
		||||
index 0750ad0e..807786cf 100644
 | 
			
		||||
--- a/src/gui/TextEditor.cpp
 | 
			
		||||
+++ b/src/gui/TextEditor.cpp
 | 
			
		||||
@@ -37,6 +37,7 @@ TextEditor::TextEditor(XojPageView* gui, GtkWidget* widget, Text* text, bool own
 | 
			
		||||
 	gtk_text_buffer_place_cursor(this->buffer, &first);
 | 
			
		||||
 
 | 
			
		||||
 	GtkSettings* settings = gtk_widget_get_settings(this->widget);
 | 
			
		||||
+        g_object_get(settings, "gtk-cursor-blink", &this->cursorBlink, nullptr);
 | 
			
		||||
 	g_object_get(settings, "gtk-cursor-blink-time", &this->cursorBlinkTime, nullptr);
 | 
			
		||||
 	g_object_get(settings, "gtk-cursor-blink-timeout", &this->cursorBlinkTimeout, nullptr);
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +49,12 @@ TextEditor::TextEditor(XojPageView* gui, GtkWidget* widget, Text* text, bool own
 | 
			
		||||
 	g_signal_connect(this->imContext, "retrieve-surrounding", G_CALLBACK(iMRetrieveSurroundingCallback), this);
 | 
			
		||||
 	g_signal_connect(this->imContext, "delete-surrounding", G_CALLBACK(imDeleteSurroundingCallback), this);
 | 
			
		||||
 
 | 
			
		||||
-	blinkCallback(this);
 | 
			
		||||
+    if (this->cursorBlink) {
 | 
			
		||||
+        blinkCallback(this);
 | 
			
		||||
+    } else {
 | 
			
		||||
+        this->cursorVisible = true;
 | 
			
		||||
+    }
 | 
			
		||||
+
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 TextEditor::~TextEditor()
 | 
			
		||||
@@ -654,12 +660,15 @@ void TextEditor::moveCursor(GtkMovementStep step, int count, bool extendSelectio
 | 
			
		||||
 		gtk_widget_error_bell(this->widget);
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
-	this->cursorVisible = false;
 | 
			
		||||
-	if (this->blinkTimeout)
 | 
			
		||||
-	{
 | 
			
		||||
-		g_source_remove(this->blinkTimeout);
 | 
			
		||||
-	}
 | 
			
		||||
-	blinkCallback(this);
 | 
			
		||||
+    if (this->cursorBlink) {
 | 
			
		||||
+        this->cursorVisible = false;
 | 
			
		||||
+        if (this->blinkTimeout) {
 | 
			
		||||
+            g_source_remove(this->blinkTimeout);
 | 
			
		||||
+        }
 | 
			
		||||
+        blinkCallback(this);
 | 
			
		||||
+    } else {
 | 
			
		||||
+        repaintCursor();
 | 
			
		||||
+    }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 void TextEditor::findPos(GtkTextIter* iter, double xPos, double yPos)
 | 
			
		||||
diff --git a/src/gui/TextEditor.h b/src/gui/TextEditor.h
 | 
			
		||||
index fdeb8b0f..008807b1 100644
 | 
			
		||||
--- a/src/gui/TextEditor.h
 | 
			
		||||
+++ b/src/gui/TextEditor.h
 | 
			
		||||
@@ -108,6 +108,7 @@ private:
 | 
			
		||||
 	double markPosX = 0;
 | 
			
		||||
 	double markPosY = 0;
 | 
			
		||||
 
 | 
			
		||||
+        bool cursorBlink = true;
 | 
			
		||||
 	int cursorBlinkTime = 0;
 | 
			
		||||
 	int cursorBlinkTimeout = 0;
 | 
			
		||||
 	int blinkTimeout = 0;  // handler id
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user