Ändern Sie die Randfarbe von Okular-Anmerkungen

1164
user2547450

Inline-Anmerkungskommentare in Okular (der Standard-PDF-Reader für den KDE-Desktop) erlauben es mir nur, die Hervorhebungsfarbe standardmäßig zu ändern, aber ich möchte auch die Rahmenfarbe dieser Anmerkungen ändern.

Wie kann ich die Randfarbe von Okular-Anmerkungen ändern oder einfach den Rand entfernen?

5

2 Antworten auf die Frage

5
Ben N

Die Umrandungsfarbe ist als fest codiert Qt::black. Wenn Sie also die Farbe ändern möchten, müssen Sie die Quelle abrufen, ändern und Okular neu kompilieren. Schauen Sie in pagepainter.cppZeile 711 (mein Kommentar) ab:

if ( borderWidth != 0 ) { QPen pen( Qt::black, borderWidth ); // The first argument is the important part painter.setPen( pen ); painter.drawRect( 0, 0, image.width() - 1, image.height() - 1 ); } 

Wenn Sie den Rahmen entfernen möchten, löschen Sie einfach die obige if-Anweisung und ihren Inhalt. Wenn Sie eine andere Farbe wünschen, können Sie Qt::blackeine der zwanzig vordefinierten Farben durch eine andere ersetzen . Um eine beliebige Farbe zu erhalten, ersetzen Sie diese Konstante durch einen Aufruf an QColor::fromRgb. Zum Beispiel QColor::fromRgb(239, 228, 176, 255)ist eine Art schmuddeliges Gelb.

Das Neukompilieren von Anwendungen ist hier ein wenig außerhalb des Geltungsbereichs, und eine vollständige Erklärung wäre eine Folge. Hier einige Referenzdokumente von KDE TechBase, die jedoch etwas veraltet sind:

Ich wünschte, es gäbe einen anderen Weg, und ich würde eine einfachere Antwort begrüßen.

Danke, sieht sehr nützlich aus! Ich habe versucht, die Anweisungen zusammenzustellen, um einen Okular-Build zu erstellen, der diese Arbeit zu einer ähnlichen Frage zusammenfasst, die eine Okular-Anpassung erfordert (zögern Sie nicht, diese zu aktualisieren!): Http://superuser.com/questions/673917/modify-okular-highlight-to-automatically -copy-hervorgehobener Text-in-Kommentar. Okular-Entwickler haben hier ziemlich umfassende Richtlinien, die eine relativ schnelle Route bieten können: https://okular.kde.org/download.php. Das Kompilieren kann Schritt für Schritt auch für Neulinge ein Problem sein. Wenn Sie den Code als Git-Zweig von Okular veröffentlichen, wird die Zugriffsmöglichkeit erhöht. puslet88 vor 8 Jahren 1
Entschuldigung für späte Antwort ... Ich lade okular Quellcode herunter, kommentiere das if stament und den Inhalt und baue okular entsprechend der kde Anleitung auf, aber das funktioniert nicht. Ich habe immer noch die Randfarbe, wenn ich Inline-Notiz hinzufüge ... user2547450 vor 8 Jahren 0
@ user2547450 Entschuldigung für meine verspätete Antwort, heh. Sind Sie * sicher *, dass Sie die Version ausführen, die Sie erstellt haben, und nicht die Standardversion, die mit Ihrem System geliefert wurde? Wenn Sie das `Qt :: black` in eine andere der vordefinierten Farben ändern, passiert etwas? Ben N vor 8 Jahren 0
Ja, ich bin mir sicher. Ich habe okular 0.20.2 installiert und 0.24.60 gebaut. Ich habe borderWidth = 0 verwendet, funktioniert aber nicht und ich habe auch Qt :: white verwendet und immer noch einen schwarzen Rand. user2547450 vor 8 Jahren 0
@ user2547450 Beeinflusst die Änderung das Erscheinungsbild einer anderen Anmerkung? Was passiert, wenn Sie vor der 694-Zeile "Weiter" einfügen? Inline-Notizen sollten dann überhaupt nicht gerendert werden. Ben N vor 8 Jahren 0
Nun, da sagst du. Die Gerade hat keine Farbe. Anscheinend ist dies der Stil, der sich ändert. user2547450 vor 8 Jahren 0
@ user2547450 Ich habe hier keine Linux-Distribution zum Testen, aber ich kann mir nicht vorstellen, wie dieser Teil des Codes die geometrischen Anmerkungen verändert. Könnten Sie überprüfen, ob es ein paar Zeilen einen Kommentar für // // draw TextAnnotation gibt? Ben N vor 8 Jahren 0
Ja, ich habe // einen TextAnnotation-Kommentar gezeichnet. Ich ändere const double borderWidth = text-> style (). Width (); von const double borderWidth = 0 ;. Zeigen Sie jedoch weiter die Rahmenfarbe an. Ich habe vergessen zu fragen, ob Sie jemanden vom okular kde dev Team kennen? user2547450 vor 8 Jahren 0
@ user2547450 Ich fürchte, ich kenne niemanden im Dev-Team, aber vielleicht werde ich bald eine Testumgebung einrichten. Wenn Sie die borderWidth auf Null setzen, wird davon ausgegangen, dass Qt 1 angenommen hat. Daher sollten Sie die Zeichenanweisung vollständig entfernen. Ben N vor 8 Jahren 0
1
harrymc

Es gibt zwei Probleme mit Inline-Anmerkungsanmerkungen in Okular:

  1. Anmerkungen werden nicht in der PDF-Datei gespeichert, sondern separat geschrieben. Dadurch ist es schwierig, mit anderen Lesern zu kommunizieren.
  2. Wie von @BenN angemerkt, werden die Randfarben in Schwarz festverdrahtet.

Eine Lösung könnte darin bestehen, einen anderen PDF-Editor zu verwenden, der besser anpassbar ist. Leider kann ich keinen solchen Editor in Linux finden. Daher muss ein Windows-Editor verwendet werden. Dies ist unter Linux durchaus möglich, indem Wine verwendet wird, der eine native Windows-on-Linux-Schicht hinzufügt (mit dem Logo von "Wine Is Not a Emulator") ").

Der empfohlene Editor ist PDF-XChange Viewer . Man kann die portable Version verwenden, aber der Installer soll auch unter Wine arbeiten. PDF-XChange Viewer wird unter Wine als voll funktionsfähig gemeldet .

PDF-XChange Viewer verfügt über verschiedene Anmerkungsarten, die durch Kommentare und Markierungen bezeichnet werden. Diese können für Rand- und Hintergrundfarben angepasst werden: Haftnotiz, Schreibmaschine, Textfeld, Callout; und beinhaltet auch die Möglichkeit, Text hervorzuheben, Text durchzulassen und Text zu unterstreichen. Alle sind vollständig anpassbar. Die PDF-Datei wird so aktualisiert, dass sie für jeden anderen PDF-Viewer sichtbar ist.