Skip to content

Commit 61d9df9

Browse files
committed
disable right click eraser mode feature by settings and force disable for etap
1 parent 9dcbe7c commit 61d9df9

File tree

4 files changed

+26
-4
lines changed

4 files changed

+26
-4
lines changed

data/tr.org.pardus.pen.default.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ pressure=0
1414
is-vertical=true
1515
fuar=false
1616
xwayland=false
17+
eraser-mode=true

src/main.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,26 @@
1313
#include "tools.h"
1414

1515
bool is_wayland;
16+
bool is_etap = false;
1617
extern void mainWindowInit();
1718
int history;
1819

20+
static bool detect_etap(){
21+
FILE *f = fopen("/etc/os-release", "r");
22+
if(f == NULL){
23+
return false;
24+
}
25+
char buffer[1024];
26+
while (fgets(buffer, sizeof(buffer), f)) {
27+
char needed[] = "VERSION_CODENAME=";
28+
if(strncmp(needed, buffer, strlen(needed)) == 0){
29+
return (strncmp(buffer+strlen(needed), "etap", 4) == 0);
30+
}
31+
}
32+
fclose(f);
33+
return false;
34+
}
35+
1936
int main(int argc, char *argv[]) {
2037
settings_init();
2138
#ifdef ETAP19
@@ -30,6 +47,7 @@ int main(int argc, char *argv[]) {
3047
p2.execute("gsettings", args2);
3148
#endif
3249

50+
is_etap = detect_etap();
3351
is_wayland = (getenv("WAYLAND_DISPLAY") != NULL);
3452
// gnome wayland fullscreen compositor is buggy.
3553
// Force prefer Xwayland for fix this issue.

src/tools.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ extern QWidget *bgMenu;
6363
extern float scale;
6464
extern int history;
6565
extern bool is_wayland;
66+
extern bool is_etap;
6667

6768
extern QSlider *scrollHSlider;
6869
extern QSlider *scrollVSlider;

src/widgets/DrawingWidget.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -523,10 +523,12 @@ int DrawingWidget::getLineStyle(){
523523
void DrawingWidget::eventHandler(int source, int type, int id, QPointF pos, float pressure){
524524
debug("source: %d type: %d id:%d\n", source, type, id);
525525
int ev_pen = penType;
526-
if(source & Qt::MiddleButton) {
527-
penType = MARKER;
528-
} else if(source & Qt::RightButton) {
529-
penType = ERASER;
526+
if(get_bool("eraser-mode") && ! is_etap){
527+
if(source & Qt::MiddleButton) {
528+
penType = MARKER;
529+
} else if(source & Qt::RightButton) {
530+
penType = ERASER;
531+
}
530532
}
531533
switch(type) {
532534
case PRESS:

0 commit comments

Comments
 (0)