Merge pull request #142 from UberWriter/master

even with master
ft.librem5
somas95 2019-04-14 13:57:31 +02:00 committed by GitHub
commit e2cb547648
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
120 changed files with 4884 additions and 5239 deletions

1
.gitignore vendored
View File

@ -20,3 +20,4 @@ data/ui/shortcut_handlers
.vscode/ .vscode/
*.glade~ *.glade~
dist/uberwriter-2.0b0-py3.7.egg dist/uberwriter-2.0b0-py3.7.egg
builddir/*

View File

@ -1 +0,0 @@
recursive-include po *

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>de.wolfvollprecht.UberWriter</id>
<launchable type="desktop-id">de.wolfvollprecht.UberWriter.desktop</launchable>
<name>UberWriter</name>
<summary>An elegant, free distraction GTK+ markdown editor</summary>
<description>
<p>Uberwriter is a GTK+ based distraction free Markdown editor, mainly developed by Wolf Vollprecht and Manuel Genovés. It uses pandoc as backend for markdown parsing and offers a very clean and sleek user interface.</p>
<p>You can install the recommended TexLive extension with the command:</p>
<p>flatpak install flathub de.wolfvollprecht.UberWriter.Plugin.TexLive</p>
<p>or from Gnome-Software</p>
</description>
<screenshots>
<screenshot type="default">
<image type="source">https://raw.githubusercontent.com/UberWriter/uberwriter/master/screenshots/main.png</image>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/UberWriter/uberwriter/master/screenshots/main-dark.png</image>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/UberWriter/uberwriter/master/screenshots/formula.png</image>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/UberWriter/uberwriter/master/screenshots/preview.png</image>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/UberWriter/uberwriter/master/screenshots/focus.png</image>
</screenshot>
</screenshots>
<releases>
<release date="2019-03-10" version="2.1.5">
<description>
<ul>
<li>Added italian language</li>
<li>Initial themes support: now uberwriter adapts his colors to the current GTK theme</li>
<li>Disabled scroll gradient, can be enabled in the preferences dialog</li>
<li>Allow to disable headerbar autohidding in Dconf</li>
<li>Now a single click is enough to open files in the recent files popover</li>
<li>Spellchecking status is now saved between sessions</li>
<li>Minor UI fixes</li>
<li>Added -d flag to enable webdev tools</li>
</ul>
</description>
</release>
<release date="2018-12-06" version="2.1.4">
<description>
<p>Updated css styles.</p>
</description>
</release>
<release date="2018-11-28" version="2.1.3">
<description>
<p>This release features a new logo, polishes the Appmenu, fixes usability bugs and flatpak related bugs.</p>
</description>
</release>
<release date="2018-07-27" version="2.1.2">
<description>
<p>This release provides a fix to a bug that caused Uberwriter to not mark properly **bold**, *cursive*, and ***bold and cursive*** words.</p>
</description>
</release>
<release date="2018-07-26" version="2.1.1">
<description>
<p>This release solves two minor bugs:</p>
<ul>
<li>One on focus mode which caused the lines to be highlighted on edit rather than on click</li>
<li>Non symbolic icons on the searchbar</li>
</ul>
</description>
</release>
<release date="2018-07-18" version="2.1.0">
<description>
<p>This release features a ton of UX/UI improvements, like:</p>
<ul>
<li>Drop AppMenu support</li>
<li>HeaderBar and menus redesign, with a new unified menu and quick access buttons on the headerbar</li>
<li>Now the fullscreen view shows a headerbar when the cursor approaches the top of the screen</li>
<li>A new unified export dialog, with updated options, and quick access to pdf, odt and html export</li>
<li>Bugfixes.</li>
</ul>
</description>
</release>
<release date="2018-06-24" version="2.0.4">
<description>
<p>Now the menu is a Popover instead a regular menu.</p>
<p>The headerbar matches the theme selected for the application.</p>
<p>Updated translations.</p>
</description>
</release>
<release date="2018-06-14" version="2.0.3">
<description>
<p>Small bug fixes, updated links.</p>
</description>
</release>
<release date="2018-05-16" version="2.0.2">
<description>
<p>Fix a bug with the preview mode.</p>
</description>
</release>
<release date="2018-05-14" version="2.0.1">
<description>
<p>Don't use env variable to check if in flatpak.</p>
</description>
</release>
<release date="2018-05-12" version="2.0.0">
<description>
<p>First re-release</p>
</description>
</release>
</releases>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+</project_license>
<url type="homepage">http://uberwriter.github.io/uberwriter</url>
<content_rating type="oars-1.1"/>
<developer_name>Wolf V., Manuel G.</developer_name>
<url type="bugtracker">https://github.com/UberWriter/uberwriter/issues</url>
<url type="donation">https://liberapay.com/UberWriter/donate</url>
<url type="help">http://uberwriter.github.io/uberwriter</url>
<url type="translate">https://poeditor.com/join/project/gxVzFyXb2x</url>
<update_contact>manuel.genoves_at_gmail.com</update_contact>
<translation type="gettext">uberwriter</translation>
</component>

View File

@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Name=UberWriter Name=UberWriter
Comment=UberWriter, a simple and distraction free Markdown Editor Comment=UberWriter, a simple and distraction free Markdown Editor
Categories=GNOME;Office; Categories=GNOME;GTK;Office;
Exec=uberwriter %U Exec=uberwriter %U
Icon=de.wolfvollprecht.UberWriter Icon=de.wolfvollprecht.UberWriter
Terminal=false Terminal=false

View File

@ -13,8 +13,15 @@
asked to install them manually. asked to install them manually.
</description> </description>
</key> </key>
<key name='gradient-overlay' type='b'> <key name='spellcheck' type='b'>
<default>true</default> <default>true</default>
<summary>Spellcheck</summary>
<description>
Enable/disable spellchecking in the application.
</description>
</key>
<key name='gradient-overlay' type='b'>
<default>false</default>
<summary>Show gradient overlay</summary> <summary>Show gradient overlay</summary>
<description> <description>
Show a gradient overlay over the text at the top anf bottom of the window. Show a gradient overlay over the text at the top anf bottom of the window.

View File

@ -87,7 +87,7 @@ end
--- Replace the todo marker in the given block, if any. --- Replace the todo marker in the given block, if any.
function M.replace_todo_markers (blk, format) function M.replace_todo_markers (blk, format)
if blk.t ~= 'Para' and blk.t ~= 'Plain' then if not blk or blk.t ~= 'Para' and blk.t ~= 'Plain' then
return blk return blk
end end
local inlines = blk.content local inlines = blk.content

View File

@ -1,4 +0,0 @@
@define-color dark_bg #353535;
@define-color light_bg #F6F5F4;
@import url("style.css");

View File

@ -1,4 +0,0 @@
@define-color dark_bg #31373D;
@define-color light_bg #EDEDED;
@import url("style.css");

View File

@ -4,11 +4,6 @@
inclusion in templates inclusion in templates
*/ */
@binding-set window-bindings {
bind "<ctl>w" { "close-window" () };
bind "<ctl><shift>b" { "toggle-bibtex" () };
}
@binding-set editor-bindings { @binding-set editor-bindings {
bind "<ctl>i" { "insert-italic" () }; bind "<ctl>i" { "insert-italic" () };
bind "<ctl>b" { "insert-bold" () }; bind "<ctl>b" { "insert-bold" () };
@ -25,21 +20,9 @@
/* Main window and text colors */ /* Main window and text colors */
.uberwriter_window { .uberwriter_window {
-gtk-key-bindings: window-bindings;
/*border-radius: 7px 7px 3px 3px;*/ /*border-radius: 7px 7px 3px 3px;*/
background: @light_bg; background: @background_color;
caret-color: @dark_bg; caret-color: @foreground_color;
}
.uberwriter_window.dark_mode {
background: @dark_bg;
caret-color: @light_bg;
}
.uberwriter_window.dark_mode .uberwriter-editor text{
background: @dark_bg;
caret-color: @light_bg;
color: @light_bg;
} }
.uberwriter_window.small .uberwriter-editor { .uberwriter_window.small .uberwriter-editor {
@ -47,12 +30,7 @@
font-size: 12px; font-size: 12px;
} }
.uberwriter_window grid { .uberwriter_window grid {
background-color: @light_bg; background-color: @background_color;
}
.uberwriter_window.dark_mode grid,
.uberwriter_window.dark_mode scrolledwindow {
background-color: @dark_bg;
} }
#UberwriterWindow.medium .uberwriter-editor { #UberwriterWindow.medium .uberwriter-editor {
@ -75,25 +53,22 @@
} }
#titlebar_container { #titlebar_container {
background: @light_bg; background: @background_color;
}
#titlebar_container.dark_mode {
background: @dark_bg;
} }
.uberwriter-editor { .uberwriter-editor {
border: none; border: none;
background-color: transparent; background-color: transparent;
color: #222; text-decoration-color: #ff0000;
/*-GtkWidget-cursor-color: shade(#4D9FCE, 0.9);*/ /*-GtkWidget-cursor-color: shade(#4D9FCE, 0.9);*/
/*-GtkWidget-cursor-aspect-ratio: 0.1;*/ /*-GtkWidget-cursor-aspect-ratio: 0.1;*/
-gtk-key-bindings: editor-bindings; -gtk-key-bindings: editor-bindings;
} }
.uberwriter-editor text { .uberwriter-editor text {
background-color: @light_bg; background-color: @background_color;
color: #222; color: @foreground_color;
caret-color: @foreground_color;
} }
.uberwriter-editor:selected { .uberwriter-editor:selected {
@ -120,7 +95,7 @@
.status_bar_box button { .status_bar_box button {
/* finding reset */ /* finding reset */
background-color: @light_bg; background-color: @background_color;
text-shadow: inherit; text-shadow: inherit;
/*icon-shadow: inherit;*/ /*icon-shadow: inherit;*/
box-shadow: initial; box-shadow: initial;
@ -146,13 +121,13 @@
.status_bar_box button:hover, .status_bar_box button:hover,
.status_bar_box button:checked { .status_bar_box button:checked {
transition: 0s ease-in; transition: 0s ease-in;
color: @light_bg; color: @background_color;
background-color: #666; background-color: #666;
} }
.status_bar_box button:hover label, .status_bar_box button:hover label,
.status_bar_box button:checked label { .status_bar_box button:checked label {
color: @light_bg; color: @background_color;
} }
.status_bar_box button:active { .status_bar_box button:active {
@ -161,22 +136,7 @@
background-image: none; background-image: none;
box-shadow: 0 0 2px rgba(0,0,0,0.4) box-shadow: 0 0 2px rgba(0,0,0,0.4)
} }
.dark_mode .status_bar_box button {
background-color: @dark_bg;
}
.dark_mode .status_bar_box label {
color: @light_bg;
}
.dark_mode .status_bar_box button:hover,
.dark_mode .status_bar_box button:checked {
background-color: @light_bg;
color: #666;
}
.dark_mode .status_bar_box button:hover label,
.dark_mode .status_bar_box button:checked label{
color: #666;
}
.status_bar_box separator { .status_bar_box separator {
border-color: #999; border-color: #999;
border-right: none; border-right: none;
@ -198,9 +158,9 @@
/*font: serif 10;*/ /*font: serif 10;*/
font-family: serif; font-family: serif;
font-size: 10px; font-size: 10px;
background: @light_bg; background: @background_color;
border-radius: 4px; border-radius: 4px;
border-color: @light_bg; border-color: @background_color;
margin: 5px; margin: 5px;
padding: 5px; padding: 5px;
} }
@ -211,7 +171,7 @@
border: 1px solid #333; border: 1px solid #333;
background: @ligth_bg; background: @ligth_bg;
border-radius: 3px; border-radius: 3px;
border-color: @light_bg; border-color: @background_color;
} */ } */
#LexikonBubble label { #LexikonBubble label {
@ -219,9 +179,8 @@
} }
#LexikonBubble { #LexikonBubble {
background-color: @light_bg; background-color: @background_color;
border: 5px solid @light_bg; border: 5px solid @background_color;
border-color: @light_bg
} }
#LexikonBubble .lexikon_heading { #LexikonBubble .lexikon_heading {
@ -240,15 +199,15 @@
} }
.QuickPreviewPopup { .QuickPreviewPopup {
background-color: @light_bg; background-color: @background_color;
} }
.QuickPreviewPopup grid { .QuickPreviewPopup grid {
background-color: @light_bg; background-color: @background_color;
color: @dark_bg; color: @foreground_color;
border-color: @light_bg; border-color: @background_color;
} }
.QuickPreviewPopup label { .QuickPreviewPopup label {
color: @dark_bg; color: @foreground_color;
} }

View File

@ -0,0 +1,501 @@
@font-face {
font-family: fira-sans;
src: url("../fonts/fira-sans-v9-vietnamese_latin_cyrillic-ext_cyrillic_greek-ext_latin-ext_greek-regular.woff2") format("woff2");
}
@font-face {
font-family: fira-mono;
src: url("../fonts/fira-mono-v7-latin_cyrillic-ext_cyrillic_greek-ext_latin-ext_greek-regular.woff2") format("woff2");
}
@font-face {
font-family: color-emoji;
src: local("Noto Color Emoji"), local("Apple Color Emoji"), local("Segoe UI Emoji"), local("Segoe UI Symbol");
}
:root {
/* This is GitHub's default color scheme, which should be overridden per theme. */
--text-color: #24292e;
--background-color: #ffffff;
--alt-background-color: #f6f8fa;
--link-color: #0366d6;
--blockquote-text-color: #6a737d;
--blockquote-border-color: #dfe2e5;
--header-border-color: #eaecef;
--hr-background-color: #e1e4e8;
--table-tr-border-color: #c6cbd1;
--table-td-border-color: #dfe2e5;
--kbd-text-color: #444d56;
--kbd-background-color: #fafbfc;
--kbd-border-color: #c6cbd1;
--kbd-shadow-color: #959da5;
}
* {
box-sizing: border-box;
}
html {
font-size: 16px;
}
@media screen and (max-width: 799px) {
html {
font-size: 14px;
}
}
@media screen and (min-width: 1000px) {
html {
font-size: 18px;
}
}
body {
color: var(--text-color);
background-color: var(--background-color);
font-family: "Fira Sans", fira-sans, sans-serif, color-emoji;
line-height: 1.5;
text-size-adjust: 100%;
word-wrap: break-word;
padding: 2em;
}
a {
background-color: transparent;
color: var(--link-color);
text-decoration: none;
}
a:active,
a:hover {
outline-width: 0;
}
a:hover {
text-decoration: underline;
}
strong {
font-weight: 600;
}
img {
border-style: none;
}
hr {
box-sizing: content-box;
height: 0.25em;
padding: 0;
margin: 1.5em 0;
overflow: hidden;
background-color: var(--hr-background-color);
border: 0;
}
hr::before {
display: table;
content: "";
}
hr::after {
display: table;
clear: both;
content: "";
}
input {
font-family: inherit;
font-size: inherit;
line-height: inherit;
margin: 0;
overflow: visible;
}
[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
table {
border-spacing: 0;
border-collapse: collapse;
}
td,
th {
padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: 600;
margin: 0;
}
h1 {
font-size: 2em;
}
h2 {
font-size: 1.5em;
}
h3 {
font-size: 1.25em;
}
h4 {
font-size: 1em;
}
h5 {
font-size: 0.875em;
}
h6 {
font-size: 0.85em;
}
p {
margin-top: 0;
margin-bottom: 0.625em;
}
blockquote {
margin: 0;
}
ul,
ol {
padding-left: 0;
margin-top: 0;
margin-bottom: 0;
}
ol ol,
ul ol {
list-style-type: lower-roman;
}
ul ul ol,
ul ol ol,
ol ul ol,
ol ol ol {
list-style-type: lower-alpha;
}
dd {
margin-left: 0;
}
code,
kbd,
pre {
font-family: "Fira Mono", fira-mono, monospace, color-emoji;
font-size: 1em;
word-wrap: normal;
}
code {
border-radius: 0.1875em;
font-size: 0.85em;
padding: 0.2em 0.4em;
margin: 0;
}
pre {
margin-top: 0;
margin-bottom: 0;
font-size: 0.75em;
}
pre>code {
padding: 0;
margin: 0;
font-size: 1em;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.highlight {
margin-bottom: 1em;
}
.highlight pre {
margin-bottom: 0;
word-break: normal;
}
.highlight pre,
pre {
padding: 1em;
overflow: auto;
font-size: 0.85em;
line-height: 1.5;
background-color: var(--alt-background-color);
border-radius: 0.1875em;
}
pre code {
background-color: transparent;
border: 0;
display: inline;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
}
.pl-0 {
padding-left: 0 !important;
}
.pl-1 {
padding-left: 0.25em !important;
}
.pl-2 {
padding-left: 0.5em !important;
}
.pl-3 {
padding-left: 1em !important;
}
.pl-4 {
padding-left: 1.5em !important;
}
.pl-5 {
padding-left: 2em !important;
}
.pl-6 {
padding-left: 2.5em !important;
}
.markdown-body::before {
display: table;
content: "";
}
.markdown-body::after {
display: table;
clear: both;
content: "";
}
.markdown-body>*:first-child {
margin-top: 0 !important;
}
.markdown-body>*:last-child {
margin-bottom: 0 !important;
}
a:not([href]) {
color: inherit;
text-decoration: none;
}
.anchor {
float: left;
padding-right: 0.25em;
margin-left: -1.25em;
line-height: 1;
}
.anchor:focus {
outline: none;
}
p,
blockquote,
ul,
ol,
dl,
table,
pre {
margin-top: 0;
margin-bottom: 1em;
}
blockquote {
padding: 0 1em;
color: var(--blockquote-text-color);
border-left: 0.25em solid var(--blockquote-border-color);
}
blockquote>:first-child {
margin-top: 0;
}
blockquote>:last-child {
margin-bottom: 0;
}
kbd {
display: inline-block;
padding: 0.1875em 0.3125em;
font-size: 0.6875em;
line-height: 1;
color: var(--kbd-text-color);
vertical-align: middle;
background-color: var(--kbd-background-color);
border: solid 1px var(--kbd-border-color);
border-bottom-color: var(--kbd-shadow-color);
border-radius: 3px;
box-shadow: inset 0 -1px 0 var(--kbd-shadow-color);;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 1.5em;
margin-bottom: 1em;
font-weight: 600;
line-height: 1.25;
}
h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor,
h6:hover .anchor {
text-decoration: none;
}
h1 {
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid var(--header-border-color);
}
h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--header-border-color);
}
h3 {
font-size: 1.25em;
}
h4 {
font-size: 1em;
}
h5 {
font-size: 0.875em;
}
h6 {
font-size: 0.85em;
opacity: 0.67;
}
ul,
ol {
padding-left: 2em;
}
ul ul,
ul ol,
ol ol,
ol ul {
margin-top: 0;
margin-bottom: 0;
}
li {
overflow-wrap: break-word;
}
li>p {
margin-top: 1em;
}
li+li {
margin-top: 0.25em;
}
dl {
padding: 0;
}
dl dt {
padding: 0;
margin-top: 1em;
font-size: 1em;
font-style: italic;
font-weight: 600;
}
dl dd {
padding: 0 1em;
margin-bottom: 1em;
}
table {
display: block;
width: 100%;
overflow: auto;
}
table th {
font-weight: 600;
}
table th,
table td {
padding: 0.375em 0.8125em;
border: 1px solid var(--table-td-border-color);
}
table tr {
background-color: var(--background-color);
border-top: 1px solid var(--table-tr-border-color);
}
table tr:nth-child(2n) {
background-color: var(--alt-background-color);
}
img {
max-width: 100%;
box-sizing: content-box;
}
img[align=right] {
padding-left: 1.25em;
}
img[align=left] {
padding-right: 1.25em;
}
.task-list-item {
list-style-type: none;
}
.task-list-item+.task-list-item {
margin-top: 0.1875em;
}
.task-list-item input {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}

View File

@ -0,0 +1,5 @@
@define-color foreground_color #2e3436;
@define-color background_color #f6f5f4;
@define-color math_text_color #00364c;
@import url("_gtk_base.css");

View File

@ -0,0 +1,5 @@
@define-color foreground_color #eeeeec;
@define-color background_color #353535;
@define-color math_text_color #ffc9b3;
@import url("_gtk_base.css");

View File

@ -0,0 +1,5 @@
@define-color foreground_color #3b3e45;
@define-color background_color #f5f6f7;
@define-color math_text_color #00364c;
@import url("_gtk_base.css");

View File

@ -0,0 +1,5 @@
@define-color foreground_color #d3dae3;
@define-color background_color #383c4a;
@define-color math_text_color #ffc9b3;
@import url("_gtk_base.css");

View File

@ -0,0 +1,5 @@
@define-color foreground_color #3b3e45;
@define-color background_color #f5f6f7;
@define-color math_text_color #00364C;
@import url("_gtk_base.css");

View File

@ -0,0 +1,5 @@
@define-color foreground_color #000000;
@define-color background_color #ffffff;
@define-color math_text_color #000000;
@import url("_gtk_base.css");

View File

@ -0,0 +1,5 @@
@define-color foreground_color #ffffff;
@define-color background_color #000000;
@define-color math_text_color #ffffff;
@import url("_gtk_base.css");

View File

@ -0,0 +1,19 @@
@import url("_web_base.css");
:root {
--text-color: #2e3436;
--background-color: #f6f5f4;
--alt-background-color: #edeeef;
--link-color: #0d71de;
--blockquote-text-color: #747e85;
--blockquote-border-color: #d6d8da;
--header-border-color: #e1e2e4;
--hr-background-color: #d8dadd;
--table-tr-border-color: #bdc1c6;
--table-td-border-color: #d6d8da;
--kbd-text-color: #4e585e;
--kbd-background-color: #f1f1f1;
--kbd-border-color: #bdc1c6;
--kbd-shadow-color: #8c939a;
}

View File

@ -0,0 +1,18 @@
@import url("_web_base.css");
:root {
--text-color: #eeeeec;
--background-color: #353535;
--alt-background-color: #3a3a3a;
--link-color: #b5daff;
--blockquote-text-color: #a8a8a6;
--blockquote-border-color: #525252;
--header-border-color: #474747;
--hr-background-color: #505050;
--table-tr-border-color: #696969;
--table-td-border-color: #525252;
--kbd-text-color: #cececc;
--kbd-background-color: #3c3c3c;
--kbd-border-color: #696969;
--kbd-shadow-color: #979797;
}

View File

@ -0,0 +1,18 @@
@import url("_web_base.css");
:root {
--text-color: #3b3e45;
--background-color: #f5f6f7;
--alt-background-color: #eceff2;
--link-color: #1a7bed;
--blockquote-text-color: #818894;
--blockquote-border-color: #d5d9dd;
--header-border-color: #e0e3e7;
--hr-background-color: #d7dbe0;
--table-tr-border-color: #bcc2c9;
--table-td-border-color: #d5d9dd;
--kbd-text-color: #5b626d;
--kbd-background-color: #f0f2f4;
--kbd-border-color: #bcc2c9;
--kbd-shadow-color: #8b949d;
}

View File

@ -0,0 +1,18 @@
@import url("_web_base.css");
:root {
--text-color: #d3dae3;
--background-color: #383c4a;
--alt-background-color: #3d414f;
--link-color: #9ac6ff;
--blockquote-text-color: #8d949d;
--blockquote-border-color: #555967;
--header-border-color: #4a4e5c;
--hr-background-color: #535765;
--table-tr-border-color: #6c707e;
--table-td-border-color: #555967;
--kbd-text-color: #b3bac3;
--kbd-background-color: #3f4351;
--kbd-border-color: #6c707e;
--kbd-shadow-color: #9a9eac;
}

View File

@ -0,0 +1 @@
@import url("web_arc.css");

View File

@ -0,0 +1,26 @@
@import url("_web_base.css");
a {
text-decoration: underline;
}
pre {
border: 1px solid;
}
:root {
--text-color: #000000;
--background-color: #ffffff;
--alt-background-color: #ffffff;
--link-color: #000000;
--blockquote-text-color: #000000;
--blockquote-border-color: #000000;
--header-border-color: #000000;
--hr-background-color: #000000;
--table-tr-border-color: #000000;
--table-td-border-color: #000000;
--kbd-text-color: #000000;
--kbd-background-color: #ffffff;
--kbd-border-color: #000000;
--kbd-shadow-color: #000000;
}

View File

@ -0,0 +1,26 @@
@import url("_web_base.css");
a {
text-decoration: underline;
}
pre {
border: 1px solid;
}
:root {
--text-color: #ffffff;
--background-color: #000000;
--alt-background-color: #000000;
--link-color: #ffffff;
--blockquote-text-color: #ffffff;
--blockquote-border-color: #ffffff;
--header-border-color: #ffffff;
--hr-background-color: #ffffff;
--table-tr-border-color: #ffffff;
--table-td-border-color: #ffffff;
--kbd-text-color: #ffffff;
--kbd-background-color: #000000;
--kbd-border-color: #ffffff;
--kbd-shadow-color: #ffffff;
}

View File

@ -1,567 +0,0 @@
@font-face {
font-family: octicons-link;
src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format('woff');
}
body {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
line-height: 1.5;
color: #EDEDED;
background-color: #31373D;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
a {
background-color: transparent;
}
a:active,
a:hover {
outline-width: 0;
}
strong {
font-weight: inherit;
}
strong {
font-weight: bolder;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
img {
border-style: none;
}
code,
kbd,
pre {
font-family: monospace, monospace;
font-size: 1em;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
input {
font: inherit;
margin: 0;
}
input {
overflow: visible;
}
[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
* {
box-sizing: border-box;
}
input {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
a {
color: #0366d6;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
strong {
font-weight: 600;
}
hr {
height: 0;
margin: 15px 0;
overflow: hidden;
background: transparent;
border: 0;
border-bottom: 1px solid #dfe2e5;
}
hr::before {
display: table;
content: "";
}
hr::after {
display: table;
clear: both;
content: "";
}
table {
border-spacing: 0;
border-collapse: collapse;
}
td,
th {
padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
margin-bottom: 0;
}
h1 {
font-size: 32px;
font-weight: 600;
}
h2 {
font-size: 24px;
font-weight: 600;
}
h3 {
font-size: 20px;
font-weight: 600;
}
h4 {
font-size: 16px;
font-weight: 600;
}
h5 {
font-size: 14px;
font-weight: 600;
}
h6 {
font-size: 12px;
font-weight: 600;
}
p {
margin-top: 0;
margin-bottom: 10px;
}
blockquote {
margin: 0;
}
ul,
ol {
padding-left: 0;
margin-top: 0;
margin-bottom: 0;
}
ol ol,
ul ol {
list-style-type: lower-roman;
}
ul ul ol,
ul ol ol,
ol ul ol,
ol ol ol {
list-style-type: lower-alpha;
}
dd {
margin-left: 0;
}
code {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 12px;
}
pre {
margin-top: 0;
margin-bottom: 0;
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 12px;
}
.octicon {
vertical-align: text-bottom;
}
.pl-0 {
padding-left: 0 !important;
}
.pl-1 {
padding-left: 4px !important;
}
.pl-2 {
padding-left: 8px !important;
}
.pl-3 {
padding-left: 16px !important;
}
.pl-4 {
padding-left: 24px !important;
}
.pl-5 {
padding-left: 32px !important;
}
.pl-6 {
padding-left: 40px !important;
}
.markdown-body::before {
display: table;
content: "";
}
.markdown-body::after {
display: table;
clear: both;
content: "";
}
.markdown-body>*:first-child {
margin-top: 0 !important;
}
.markdown-body>*:last-child {
margin-bottom: 0 !important;
}
a:not([href]) {
color: inherit;
text-decoration: none;
}
.anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.anchor:focus {
outline: none;
}
p,
blockquote,
ul,
ol,
dl,
table,
pre {
margin-top: 0;
margin-bottom: 16px;
}
hr {
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: #e1e4e8;
border: 0;
}
blockquote {
padding: 0 1em;
color: #6a737d;
border-left: 0.25em solid #dfe2e5;
}
blockquote>:first-child {
margin-top: 0;
}
blockquote>:last-child {
margin-bottom: 0;
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #c6cbd1;
border-bottom-color: #959da5;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #959da5;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
line-height: 1.25;
}
h1 .octicon-link,
h2 .octicon-link,
h3 .octicon-link,
h4 .octicon-link,
h5 .octicon-link,
h6 .octicon-link {
color: #1b1f23;
vertical-align: middle;
visibility: hidden;
}
h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor,
h6:hover .anchor {
text-decoration: none;
}
h1:hover .anchor .octicon-link,
h2:hover .anchor .octicon-link,
h3:hover .anchor .octicon-link,
h4:hover .anchor .octicon-link,
h5:hover .anchor .octicon-link,
h6:hover .anchor .octicon-link {
visibility: visible;
}
h1 {
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid #eaecef;
}
h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid #eaecef;
}
h3 {
font-size: 1.25em;
}
h4 {
font-size: 1em;
}
h5 {
font-size: 0.875em;
}
h6 {
font-size: 0.85em;
color: #6a737d;
}
ul,
ol {
padding-left: 2em;
}
ul ul,
ul ol,
ol ol,
ol ul {
margin-top: 0;
margin-bottom: 0;
}
li {
word-wrap: break-all;
}
li>p {
margin-top: 16px;
}
li+li {
margin-top: 0.25em;
}
dl {
padding: 0;
}
dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: 600;
}
dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
table {
display: block;
width: 100%;
overflow: auto;
}
table th {
font-weight: 600;
}
table th,
table td {
padding: 6px 13px;
border: 1px solid #dfe2e5;
}
table tr {
background-color: #fff;
border-top: 1px solid #c6cbd1;
}
table tr:nth-child(2n) {
background-color: #f6f8fa;
}
img {
max-width: 100%;
box-sizing: content-box;
background-color: #fff;
}
img[align=right] {
padding-left: 20px;
}
img[align=left] {
padding-right: 20px;
}
code {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: #fafbfc9d;
color: #1b1f23;
border-radius: 3px;
}
pre {
word-wrap: normal;
}
pre>code {
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.highlight {
margin-bottom: 16px;
}
.highlight pre {
margin-bottom: 0;
word-break: normal;
}
.highlight pre,
pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: #f6f8faf1;
border-radius: 3px;
}
pre code {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.full-commit .btn-outline:not(:disabled):hover {
color: #005cc5;
border-color: #005cc5;
}
kbd {
display: inline-block;
padding: 3px 5px;
font: 11px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #d1d5da;
border-bottom-color: #c6cbd1;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #c6cbd1;
}
:checked+.radio-label {
position: relative;
z-index: 1;
border-color: #0366d6;
}
.task-list-item {
list-style-type: none;
}
.task-list-item+.task-list-item {
margin-top: 3px;
}
.task-list-item input {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
hr {
border-bottom-color: #eee;
}

View File

@ -1,566 +0,0 @@
@font-face {
font-family: octicons-link;
src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format('woff');
}
body {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
line-height: 1.5;
color: #31373D;
background-color: #EDEDED;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
a {
background-color: transparent;
}
a:active,
a:hover {
outline-width: 0;
}
strong {
font-weight: inherit;
}
strong {
font-weight: bolder;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
img {
border-style: none;
}
code,
kbd,
pre {
font-family: monospace, monospace;
font-size: 1em;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
input {
font: inherit;
margin: 0;
}
input {
overflow: visible;
}
[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
* {
box-sizing: border-box;
}
input {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
a {
color: #0366d6;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
strong {
font-weight: 600;
}
hr {
height: 0;
margin: 15px 0;
overflow: hidden;
background: transparent;
border: 0;
border-bottom: 1px solid #dfe2e5;
}
hr::before {
display: table;
content: "";
}
hr::after {
display: table;
clear: both;
content: "";
}
table {
border-spacing: 0;
border-collapse: collapse;
}
td,
th {
padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
margin-bottom: 0;
}
h1 {
font-size: 32px;
font-weight: 600;
}
h2 {
font-size: 24px;
font-weight: 600;
}
h3 {
font-size: 20px;
font-weight: 600;
}
h4 {
font-size: 16px;
font-weight: 600;
}
h5 {
font-size: 14px;
font-weight: 600;
}
h6 {
font-size: 12px;
font-weight: 600;
}
p {
margin-top: 0;
margin-bottom: 10px;
}
blockquote {
margin: 0;
}
ul,
ol {
padding-left: 0;
margin-top: 0;
margin-bottom: 0;
}
ol ol,
ul ol {
list-style-type: lower-roman;
}
ul ul ol,
ul ol ol,
ol ul ol,
ol ol ol {
list-style-type: lower-alpha;
}
dd {
margin-left: 0;
}
code {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 12px;
}
pre {
margin-top: 0;
margin-bottom: 0;
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 12px;
}
.octicon {
vertical-align: text-bottom;
}
.pl-0 {
padding-left: 0 !important;
}
.pl-1 {
padding-left: 4px !important;
}
.pl-2 {
padding-left: 8px !important;
}
.pl-3 {
padding-left: 16px !important;
}
.pl-4 {
padding-left: 24px !important;
}
.pl-5 {
padding-left: 32px !important;
}
.pl-6 {
padding-left: 40px !important;
}
.markdown-body::before {
display: table;
content: "";
}
.markdown-body::after {
display: table;
clear: both;
content: "";
}
.markdown-body>*:first-child {
margin-top: 0 !important;
}
.markdown-body>*:last-child {
margin-bottom: 0 !important;
}
a:not([href]) {
color: inherit;
text-decoration: none;
}
.anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.anchor:focus {
outline: none;
}
p,
blockquote,
ul,
ol,
dl,
table,
pre {
margin-top: 0;
margin-bottom: 16px;
}
hr {
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: #e1e4e8;
border: 0;
}
blockquote {
padding: 0 1em;
color: #6a737d;
border-left: 0.25em solid #dfe2e5;
}
blockquote>:first-child {
margin-top: 0;
}
blockquote>:last-child {
margin-bottom: 0;
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #c6cbd1;
border-bottom-color: #959da5;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #959da5;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
line-height: 1.25;
}
h1 .octicon-link,
h2 .octicon-link,
h3 .octicon-link,
h4 .octicon-link,
h5 .octicon-link,
h6 .octicon-link {
color: #1b1f23;
vertical-align: middle;
visibility: hidden;
}
h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor,
h6:hover .anchor {
text-decoration: none;
}
h1:hover .anchor .octicon-link,
h2:hover .anchor .octicon-link,
h3:hover .anchor .octicon-link,
h4:hover .anchor .octicon-link,
h5:hover .anchor .octicon-link,
h6:hover .anchor .octicon-link {
visibility: visible;
}
h1 {
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid #eaecef;
}
h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid #eaecef;
}
h3 {
font-size: 1.25em;
}
h4 {
font-size: 1em;
}
h5 {
font-size: 0.875em;
}
h6 {
font-size: 0.85em;
color: #6a737d;
}
ul,
ol {
padding-left: 2em;
}
ul ul,
ul ol,
ol ol,
ol ul {
margin-top: 0;
margin-bottom: 0;
}
li {
word-wrap: break-all;
}
li>p {
margin-top: 16px;
}
li+li {
margin-top: 0.25em;
}
dl {
padding: 0;
}
dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: 600;
}
dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
table {
display: block;
width: 100%;
overflow: auto;
}
table th {
font-weight: 600;
}
table th,
table td {
padding: 6px 13px;
border: 1px solid #dfe2e5;
}
table tr {
background-color: #fff;
border-top: 1px solid #c6cbd1;
}
table tr:nth-child(2n) {
background-color: #f6f8fa;
}
img {
max-width: 100%;
box-sizing: content-box;
background-color: #fff;
}
img[align=right] {
padding-left: 20px;
}
img[align=left] {
padding-right: 20px;
}
code {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: rgba(27,31,35,0.05);
border-radius: 3px;
}
pre {
word-wrap: normal;
}
pre>code {
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.highlight {
margin-bottom: 16px;
}
.highlight pre {
margin-bottom: 0;
word-break: normal;
}
.highlight pre,
pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: #f6f8fa;
border-radius: 3px;
}
pre code {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.full-commit .btn-outline:not(:disabled):hover {
color: #005cc5;
border-color: #005cc5;
}
kbd {
display: inline-block;
padding: 3px 5px;
font: 11px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #d1d5da;
border-bottom-color: #c6cbd1;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #c6cbd1;
}
:checked+.radio-label {
position: relative;
z-index: 1;
border-color: #0366d6;
}
.task-list-item {
list-style-type: none;
}
.task-list-item+.task-list-item {
margin-top: 3px;
}
.task-list-item input {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
hr {
border-bottom-color: #eee;
}

Binary file not shown.

Binary file not shown.

View File

@ -8,15 +8,20 @@
<property name="window_position">center</property> <property name="window_position">center</property>
<property name="type_hint">dialog</property> <property name="type_hint">dialog</property>
<property name="program_name">Uberwriter</property> <property name="program_name">Uberwriter</property>
<property name="version">2.1.3</property> <property name="version">2.1.5</property>
<property name="copyright" translatable="yes">Copyright (C) 2018, Wolf Vollprecht</property> <property name="copyright" translatable="yes">Copyright (C) 2018, Wolf Vollprecht</property>
<property name="website">http://uberwriter.github.io/uberwriter</property> <property name="website">http://uberwriter.github.io/uberwriter</property>
<property name="website_label" translatable="yes">Uberwriter website</property> <property name="website_label" translatable="yes">Uberwriter website</property>
<property name="authors">Wolf Vollprecht &lt;w.vollprecht@gmail.com&gt; <property name="authors">Wolf Vollprecht &lt;w.vollprecht@gmail.com&gt;
Manuel Genovés &lt;manuel.genoves@gmail.com&gt;</property> Manuel Genovés &lt;manuel.genoves@gmail.com&gt;</property>
<property name="translator_credits">Daniel Artfors (Swedish) <property name="translator_credits">
Andrea Somaini (Italian)
Daniel Artfors (Swedish)
shorez (German) shorez (German)
TomBoss (French) TomBoss (French)
Adolfo Jayme Barrientos (Catalan)
Maxence Dubois (French)
naxuroqa (German)
Wolf Wolf
Manuel (Spanish, Catalan)</property> Manuel (Spanish, Catalan)</property>
<property name="artists">Tobias Bernard &lt;hi@tobiasbernard.com&gt;</property> <property name="artists">Tobias Bernard &lt;hi@tobiasbernard.com&gt;</property>

View File

@ -6,6 +6,10 @@
<attribute name="label" translatable="yes">Focus Mode</attribute> <attribute name="label" translatable="yes">Focus Mode</attribute>
<attribute name="action">app.focus_mode</attribute> <attribute name="action">app.focus_mode</attribute>
</item> </item>
<item>
<attribute name="label" translatable="yes">Hemingway Mode</attribute>
<attribute name="action">app.hemingway_mode</attribute>
</item>
<item> <item>
<attribute name="label" translatable="yes">Preview</attribute> <attribute name="label" translatable="yes">Preview</attribute>
<attribute name="action">app.preview</attribute> <attribute name="action">app.preview</attribute>

View File

@ -92,7 +92,6 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="action_name">app.spellcheck</property> <property name="action_name">app.spellcheck</property>
<property name="active">True</property>
</object> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>

View File

@ -42,10 +42,23 @@
<child> <child>
<object class="GtkShortcutsShortcut" id="s1-5"> <object class="GtkShortcutsShortcut" id="s1-5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Quit</property> <property name="title" translatable="yes" context="shortcut window">Close document</property>
<property name="accelerator">&lt;Primary&gt;w</property> <property name="accelerator">&lt;Primary&gt;w</property>
</object> </object>
</child> </child>
<child>
<object class="GtkShortcutsShortcut" id="s1-5b">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Quit application</property>
<property name="accelerator">&lt;Primary&gt;q</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup" id="modes">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Modes</property>
<child> <child>
<object class="GtkShortcutsShortcut" id="s1-6"> <object class="GtkShortcutsShortcut" id="s1-6">
<property name="visible">True</property> <property name="visible">True</property>
@ -56,19 +69,32 @@
<child> <child>
<object class="GtkShortcutsShortcut" id="s1-7"> <object class="GtkShortcutsShortcut" id="s1-7">
<property name="visible">True</property> <property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Fullscreen</property> <property name="title" translatable="yes" context="shortcut window">Hemingway mode</property>
<property name="accelerator">F11</property> <property name="accelerator">&lt;Primary&gt;t</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkShortcutsShortcut" id="s1-8"> <object class="GtkShortcutsShortcut" id="s1-9">
<property name="visible">True</property> <property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Preview</property> <property name="title" translatable="yes" context="shortcut window">Preview</property>
<property name="accelerator">&lt;Primary&gt;p</property> <property name="accelerator">&lt;Primary&gt;p</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkShortcutsShortcut" id="s1-9"> <object class="GtkShortcutsShortcut" id="s1-8">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Fullscreen</property>
<property name="accelerator">F11</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup" id="search">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Search</property>
<child>
<object class="GtkShortcutsShortcut" id="s1-10">
<property name="visible">True</property> <property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Search</property> <property name="title" translatable="yes" context="shortcut window">Search</property>
<property name="accelerator">&lt;Primary&gt;f</property> <property name="accelerator">&lt;Primary&gt;f</property>
@ -77,9 +103,9 @@
</object> </object>
</child> </child>
<child> <child>
<object class="GtkShortcutsGroup" id="s2"> <object class="GtkShortcutsGroup" id="markdown">
<property name="visible">True</property> <property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Editor</property> <property name="title" translatable="yes" context="shortcut window">Markdown</property>
<child> <child>
<object class="GtkShortcutsShortcut" id="s2-1"> <object class="GtkShortcutsShortcut" id="s2-1">
<property name="visible">True</property> <property name="visible">True</property>
@ -108,6 +134,13 @@
<property name="accelerator">&lt;Primary&gt;b</property> <property name="accelerator">&lt;Primary&gt;b</property>
</object> </object>
</child> </child>
<child>
<object class="GtkShortcutsShortcut" id="s2-6">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Strikeout</property>
<property name="accelerator">&lt;Shift&gt;&lt;Primary&gt;D</property>
</object>
</child>
<child> <child>
<object class="GtkShortcutsShortcut" id="s2-5"> <object class="GtkShortcutsShortcut" id="s2-5">
<property name="visible">True</property> <property name="visible">True</property>
@ -115,27 +148,6 @@
<property name="accelerator">&lt;Primary&gt;h</property> <property name="accelerator">&lt;Primary&gt;h</property>
</object> </object>
</child> </child>
<child>
<object class="GtkShortcutsShortcut" id="s2-6">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Cut</property>
<property name="accelerator">&lt;Primary&gt;x</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut" id="s2-7">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Copy</property>
<property name="accelerator">&lt;Primary&gt;c</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut" id="s2-8">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Paste</property>
<property name="accelerator">&lt;Primary&gt;v</property>
</object>
</child>
<child> <child>
<object class="GtkShortcutsShortcut" id="s2-9"> <object class="GtkShortcutsShortcut" id="s2-9">
<property name="visible">True</property> <property name="visible">True</property>
@ -145,6 +157,67 @@
</child> </child>
</object> </object>
</child> </child>
<child>
<object class="GtkShortcutsGroup" id="copy-paste">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Copy and paste</property>
<child>
<object class="GtkShortcutsShortcut" id="s3-1">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Copy selected text to clipboard</property>
<property name="accelerator">&lt;Primary&gt;C</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut" id="s3-2">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Cut selected text to clipboard</property>
<property name="accelerator">&lt;Primary&gt;X</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut" id="s3-3">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Paste selected text from clipboard</property>
<property name="accelerator">&lt;Primary&gt;V</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup" id="undo-redo">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Undo and redo</property>
<child>
<object class="GtkShortcutsShortcut" id="s4-1">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Undo previous command</property>
<property name="accelerator">&lt;Primary&gt;Z</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut" id="s4-2">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Redo previous command</property>
<property name="accelerator">&lt;Shift&gt;&lt;Primary&gt;Z</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup" id="selection">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Selection</property>
<child>
<object class="GtkShortcutsShortcut" id="s5-1">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Select all text</property>
<property name="accelerator">&lt;Primary&gt;A</property>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<application>
<id type="desktop">de.wolfvollprecht.UberWriter.desktop</id>
<name>UberWriter</name>
<summary>An elegant, free distraction GTK+ markdown editor</summary>
<description>
<p>Uberwriter is a GTK+ based distraction free Markdown editor, mainly developed by Wolf Vollprecht. It uses pandoc as backend for markdown parsing and offers a very clean and sleek user interface.</p>
</description>
<categories>
<category>Office</category>
<category>TextEditor</category>
<category>GTK</category>
</categories>
<screenshots>
<screenshot type="default">
<caption>The UberWriter main window</caption>
<image type="source">https://user-images.githubusercontent.com/8913975/39668441-37b97b9e-50ce-11e8-83b4-19f481c79468.png</image>
</screenshot>
<screenshot>
<caption>Dark theme available</caption>
<image type="source">https://user-images.githubusercontent.com/8913975/39668442-37ec83b8-50ce-11e8-9896-0d2f5876ebfb.png</image>
</screenshot>
<screenshot>
<caption>With inline preview for formulas, images, footnotes and definitions</caption>
<image type="source">https://user-images.githubusercontent.com/8913975/39668440-379c4236-50ce-11e8-8c89-3d03c639953e.png</image>
</screenshot>
<screenshot>
<caption>The preview mode shows a live preview of the rendered document</caption>
<image type="source">https://user-images.githubusercontent.com/8913975/39668443-380813f8-50ce-11e8-8bc1-b69f97fb6080.png</image>
</screenshot>
<screenshot>
<caption>The focus mode helps you providing a clear environment for writing</caption>
<image type="source">https://user-images.githubusercontent.com/8913975/39668438-375ffbb4-50ce-11e8-8abe-1109702f8656.png</image>
</screenshot>
</screenshots>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+</project_license>
<url type="homepage">http://uberwriter.github.io/uberwriter</url>
<!-- <icon type="remote" height="375" width="375"></icon> -->
</application>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -1,58 +1,199 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: UberWriter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-27 21:21+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2\n" "X-Generator: Poedit 2.2.1\n"
"Project-Id-Version: UberWriter\n"
"Language: es\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
#: data/de.wolfvollprecht.UberWriter.gschema.xml:9 #: uberwriter_lib/gtkspellcheck/spellcheck.py:487
msgid "Dark mode" msgid "(no suggestions)"
msgstr "(no hay sugerencias)"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:509
#: uberwriter_lib/gtkspellcheck/spellcheck.py:512
msgid "Add \"{}\" to Dictionary"
msgstr "Añadir «{}» al diccionario"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:516
#: uberwriter_lib/gtkspellcheck/spellcheck.py:518
msgid "Ignore All"
msgstr "Ignorar todo"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:533
#: uberwriter_lib/gtkspellcheck/spellcheck.py:535
msgid "Languages"
msgstr "Idiomas"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:551
#: uberwriter_lib/gtkspellcheck/spellcheck.py:554
msgid "Suggestions"
msgstr "Sugerencias"
#: ../uberwriter.desktop.in.h:1
msgid "UberWriter"
msgstr "UberWriter"
#: ../uberwriter.desktop.in.h:2
msgid "UberWriter, a simple and distraction free Markdown Editor"
msgstr "UberWriter, un editor Markdown simple y sin distracciones"
#: uberwriter/UberwriterInlinePreview.py:187
msgid "Website is not available"
msgstr "El sitio web no está disponible"
#: uberwriter/UberwriterInlinePreview.py:189
msgid "Website is available"
msgstr "El sitio web está disponible"
#: uberwriter/UberwriterInlinePreview.py:441
msgid "Open Link in Webbrowser"
msgstr "Abrir enlace en un navegador web"
#: uberwriter/UberwriterInlinePreview.py:503
msgid "No matching footnote found"
msgstr "No se encontró la nota al pie correspondiente"
#: data/ui/UberwriterWindow.ui:66
msgid "_File"
msgstr "_Archivo"
#: data/ui/UberwriterWindow.ui:96
msgid "Open Recent File"
msgstr "Abrir archivo reciente"
#: data/ui/UberwriterWindow.ui:175
msgid "Export as ODT"
msgstr "Exportar como ODT"
#: data/ui/UberwriterWindow.ui:186
msgid "Advanced Export..."
msgstr "Exportación avanzada…"
#: ../data/ui/UberwriterWindow.ui.h:5
msgid "Copy raw HTML to clipboard"
msgstr "Copiar código HTML al portapapeles"
#: ../data/ui/UberwriterWindow.ui.h:6
msgid "_Edit"
msgstr "_Editar"
#: data/ui/UberwriterWindow.ui:229
msgid "_View"
msgstr "_Ver"
#: data/ui/UberwriterWindow.ui:261
msgid "Light text on a dark background"
msgstr "Texto claro sobre un fondo oscuro"
#: data/ui/WindowMenu.ui:14
msgid "Dark Mode"
msgstr "Modo oscuro" msgstr "Modo oscuro"
#: data/de.wolfvollprecht.UberWriter.gschema.xml:10 #: data/ui/UberwriterWindow.ui:261
msgid "" msgid "Switch to preview mode"
"If enabled, the window will be dark themed If disabled, the window will be " msgstr "Cambiar a modo de previsualización"
"light themed asked to install them manually."
msgstr ""
#: data/de.wolfvollprecht.UberWriter.gschema.xml:18 #: data/ui/Menu.ui:12
msgid "Open file base path" msgid "Preview"
msgstr "" msgstr "Previsualización"
#: data/de.wolfvollprecht.UberWriter.gschema.xml:19 #: data/ui/UberwriterWindow.ui:298 data/ui/WindowMenu.ui:28
msgid "Open file paths of the current session" msgid "Auto _Spellcheck"
msgstr "" msgstr "_Corrección ortográfica automática"
#: data/ui/About.ui:12 #: ../data/ui/UberwriterWindow.ui.h:13
msgid "Copyright (C) 2018, Wolf Vollprecht" msgid "F_ormat"
msgstr "Copyright (C) 2018, Wolf Vollprecht" msgstr "F_ormato"
#: data/ui/About.ui:14 #: ../data/ui/UberwriterWindow.ui.h:14
msgid "Uberwriter website" msgid "Unordered List Item"
msgstr "Web de Uberwriter" msgstr "Elemento de lista no ordenada"
#: data/ui/About.ui:66 #: ../data/ui/UberwriterWindow.ui.h:15
msgid "Donations:" msgid "Horizontal Rule"
msgstr "Donaciones:" msgstr "Línea horizontal"
#: data/ui/About.ui:75 #: uberwriter/FormatShortcuts.py:186
msgid "Liberapay" msgid "Heading"
msgstr "Liberapay" msgstr "Título"
#: data/ui/About.ui:106 #: data/ui/UberwriterWindow.ui:312
msgid "Help to translate:" msgid "_Help"
msgstr "Ayuda a traducir:" msgstr "Ay_uda"
#: data/ui/About.ui:115 #: data/ui/UberwriterWindow.ui:322
msgid "Poeditor" msgid "Contents"
msgstr "Poeditor" msgstr "Contenido"
#: data/ui/UberwriterWindow.ui:335
msgid "Short Markdown Tutorial"
msgstr "Tutorial breve de Markdown"
#: data/ui/UberwriterWindow.ui:343
msgid "Open Pandoc Online Markdown Help ..."
msgstr "Abrir ayuda de Markdown Pandoc en línea…"
#: ../data/ui/UberwriterWindow.ui.h:21
msgid "Get Help Online..."
msgstr "Obtener ayuda en línea…"
#: data/ui/UberwriterWindow.ui:359
msgid "Translate This Application..."
msgstr "Traducir esta aplicación…"
#: data/ui/Menu.ui:7
msgid "Focus Mode"
msgstr "Modo de concentración"
#: data/ui/UberwriterWindow.ui:424 data/ui/UberwriterWindow.ui:425
msgid "Go into focus mode"
msgstr "Ir al modo de concentración"
#: data/ui/Menu.ui:17
msgid "Fullscreen"
msgstr "Pantalla completa"
#: data/ui/UberwriterWindow.ui:442 data/ui/UberwriterWindow.ui:443
msgid "Go into fullscreen mode"
msgstr "Ir al modo de pantalla completa"
#: data/ui/UberwriterWindow.ui:460 data/ui/UberwriterWindow.ui:461
msgid "Show HTML preview"
msgstr "Mostrar vista preliminar de HTML"
#: data/ui/UberwriterWindow.ui:112
msgid "Words:"
msgstr "Palabras:"
#: data/ui/UberwriterWindow.ui:155
msgid "Characters:"
msgstr "Caracteres:"
#: uberwriter_lib/AppWindow.py:246
msgid "Show debug messages (-vv debugs uberwriter_lib also)"
msgstr "Mostrar mensajes de depuración (-vv depura uberwriter_lib también)"
#: uberwriter/FormatShortcuts.py:87
msgid "emphasized text"
msgstr "texto destacado"
#: uberwriter/FormatShortcuts.py:89
msgid "strong text"
msgstr "texto en negrita"
#: uberwriter/FormatShortcuts.py:105
msgid "List item"
msgstr "Elemento de lista"
#: data/ui/Export.ui:517 data/ui/UberwriterAdvancedExportDialog.ui:36
msgid "Export"
msgstr "Exportar"
#: data/ui/Export.ui:38 data/ui/UberwriterAdvancedExportDialog.ui:98 #: data/ui/Export.ui:38 data/ui/UberwriterAdvancedExportDialog.ui:98
msgid "Smart" msgid "Smart"
@ -62,6 +203,14 @@ msgstr "Inteligente"
msgid "Pandoc can automatically make \"--\" to a long dash and more" msgid "Pandoc can automatically make \"--\" to a long dash and more"
msgstr "Pandoc puede convertir automáticamente «--» a una raya y más" msgstr "Pandoc puede convertir automáticamente «--» a una raya y más"
#: data/ui/UberwriterAdvancedExportDialog.ui:117
msgid "Normalize"
msgstr "Normalizar"
#: data/ui/UberwriterAdvancedExportDialog.ui:122
msgid "Removes things like double spaces or spaces at the beginning of a paragraph"
msgstr "Quita elementos como espacios o espacios dobles al comienzo de un párrafo"
#: data/ui/Export.ui:56 data/ui/UberwriterAdvancedExportDialog.ui:135 #: data/ui/Export.ui:56 data/ui/UberwriterAdvancedExportDialog.ui:135
msgid "Table of Contents" msgid "Table of Contents"
msgstr "Índice" msgstr "Índice"
@ -71,12 +220,8 @@ msgid "Standalone"
msgstr "Independiente" msgstr "Independiente"
#: data/ui/Export.ui:77 data/ui/UberwriterAdvancedExportDialog.ui:157 #: data/ui/Export.ui:77 data/ui/UberwriterAdvancedExportDialog.ui:157
msgid "" msgid "Use a header and footer to include things like stylesheets and meta information"
"Use a header and footer to include things like stylesheets and meta " msgstr "Usar el encabezado y el pie para incluir cosas como hojas de estilo o metainformación"
"information"
msgstr ""
"Usar el encabezado y el pie para incluir cosas como hojas de estilo o "
"metainformación"
#: data/ui/Export.ui:90 data/ui/UberwriterAdvancedExportDialog.ui:171 #: data/ui/Export.ui:90 data/ui/UberwriterAdvancedExportDialog.ui:171
msgid "Number Sections" msgid "Number Sections"
@ -120,21 +265,13 @@ msgstr "Estilo de resaltado "
msgid "<b>Syntax highlighting</b> (HTML, LaTeX)" msgid "<b>Syntax highlighting</b> (HTML, LaTeX)"
msgstr "<b>Resaltado de sintaxis</b> (HTML, LaTeX)" msgstr "<b>Resaltado de sintaxis</b> (HTML, LaTeX)"
#: data/ui/Export.ui:289 data/ui/UberwriterAdvancedExportDialog.ui:491
msgid "<b>Bibliography File</b>"
msgstr "<b>Archivo de bibliografía</b>"
#: data/ui/Export.ui:329 data/ui/UberwriterAdvancedExportDialog.ui:371 #: data/ui/Export.ui:329 data/ui/UberwriterAdvancedExportDialog.ui:371
msgid "Self Contained" msgid "Self Contained"
msgstr "Autocontenido" msgstr "Autocontenido"
#: data/ui/Export.ui:334 data/ui/UberwriterAdvancedExportDialog.ui:376 #: data/ui/Export.ui:334 data/ui/UberwriterAdvancedExportDialog.ui:376
msgid "" msgid "Produces a HTML that has no external dependencies (all images and stylesheets are included)"
"Produces a HTML that has no external dependencies (all images and " msgstr "Produce HTML sin dependencias externas (todas las imágenes y hojas de estilo están incluidas)"
"stylesheets are included)"
msgstr ""
"Produce HTML sin dependencias externas (todas las imágenes y hojas de estilo "
"están incluidas)"
#: data/ui/Export.ui:346 data/ui/UberwriterAdvancedExportDialog.ui:389 #: data/ui/Export.ui:346 data/ui/UberwriterAdvancedExportDialog.ui:389
msgid "HTML 5" msgid "HTML 5"
@ -158,96 +295,111 @@ msgstr "Archivo CSS"
msgid "<b>HTML Options</b>" msgid "<b>HTML Options</b>"
msgstr "<b>Opciones de HTML</b>" msgstr "<b>Opciones de HTML</b>"
#: data/ui/Export.ui:289 data/ui/UberwriterAdvancedExportDialog.ui:491
msgid "<b>Bibliography File</b>"
msgstr "<b>Archivo de bibliografía</b>"
#: data/ui/Export.ui:423 data/ui/UberwriterAdvancedExportDialog.ui:510 #: data/ui/Export.ui:423 data/ui/UberwriterAdvancedExportDialog.ui:510
msgid "Commandline Reference" msgid "Commandline Reference"
msgstr "Referencia de línea de comandos" msgstr "Referencia de consola"
#: data/ui/Export.ui:517 data/ui/UberwriterAdvancedExportDialog.ui:36 #: ../data/ui/AboutUberwriterDialog.ui.h:1
msgid "Export" msgid ""
msgstr "Exportar" "# Copyright (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>\n"
"# This program is free software: you can redistribute it and/or modify it \n"
"# under the terms of the GNU General Public License version 3, as published \n"
"# by the Free Software Foundation.\n"
"# \n"
"# This program is distributed in the hope that it will be useful, but \n"
"# WITHOUT ANY WARRANTY; without even the implied warranties of \n"
"# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR \n"
"# PURPOSE. See the GNU General Public License for more details.\n"
"# \n"
"# You should have received a copy of the GNU General Public License along \n"
"# with this program. If not, see <http://www.gnu.org/licenses/>.\n"
msgstr ""
#: data/ui/Export.ui:559 data/ui/Export.ui:569 #: ../data/ui/AboutUberwriterDialog.ui.h:14
msgid "PDF" msgid "Copyright (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>"
msgstr "PDF" msgstr "Derechos de autor © 2012 Wolf Vollprecht <w.vollprecht@gmail.com>"
#: data/ui/Export.ui:565 uberwriter/plugins/bibtex/bibtex_item.glade:18 #: uberwriter/UberwriterWindow.py:347
#: uberwriter/plugins/bibtex/bibtex_item.glade:32 msgid "Save your File"
#: uberwriter/plugins/bibtex/bibtex_item.glade:45 msgstr "Guarde su archivo"
msgid "label"
msgstr "etiqueta"
#: data/ui/Export.ui:582 #: uberwriter/UberwriterWindow.py:490
msgid "HTML" msgid "You can not export to PDF."
msgstr "HTML" msgstr "No puede exportar a PDF."
#: data/ui/Export.ui:595 #: uberwriter/UberwriterWindow.py:492
msgid "ODT" msgid "Please install <a href=\"apt:texlive\">texlive</a> from the software center."
msgstr "ODT" msgstr "Instale <a href=\"apt:texlive\">texlive</a> desde el centro de software."
#: data/ui/Export.ui:607 #: uberwriter/UberwriterWindow.py:448
#, fuzzy msgid "MarkDown or Plain Text"
msgid "Advanced" msgstr "Markdown o texto simple"
msgstr "Exportación avanzada…"
#: data/ui/Menu.ui:6 #: uberwriter/UberwriterWindow.py:451
msgid "Focus Mode" msgid "Open a .md-File"
msgstr "Modo de concentración" msgstr "Abrir un archivo .md"
#: data/ui/Menu.ui:10 #: uberwriter/UberwriterWindow.py:473
msgid "Preview" msgid "You have not saved your changes."
msgstr "Previsualización" msgstr "No ha guardado los cambios."
#: data/ui/Menu.ui:14 #: uberwriter/UberwriterWindow.py:475
msgid "Fullscreen" msgid "Close without Saving"
msgstr "Pantalla completa" msgstr "Cerrar sin guardar"
#: data/ui/Menu.ui:20 #: uberwriter/UberwriterWindow.py:476
msgid "Save _As" msgid "Cancel"
msgstr "Guardar como" msgstr "Cancelar"
#: data/ui/Menu.ui:24 #: uberwriter/UberwriterWindow.py:477
msgid "_Export" msgid "Save now"
msgstr "_Exportar" msgstr "Guardar ahora"
#: data/ui/Menu.ui:28 #: uberwriter/UberwriterWindow.py:478
msgid "Copy HTML" msgid "Unsaved changes"
msgstr "Copiar HTML" msgstr "Cambios sin guardar"
#: data/ui/Menu.ui:34 #: uberwriter/UberwriterWindow.py:537
msgid "Open Tutorial" msgid "You can not enable the Spell Checker."
msgstr "Abrir Tutorial" msgstr "No puede activar el corrector ortográfico."
#: data/ui/Menu.ui:39 #: uberwriter/UberwriterWindow.py:540
msgid "Please install 'hunspell' or 'aspell' dictionarys for your language from the software center."
msgstr "Instale los diccionarios de «hunspell» o «aspell» para su idioma desde el centro de software."
#: data/de.wolfvollprecht.UberWriter.gschema.xml:9
msgid "Dark mode"
msgstr "Modo oscuro"
#: data/de.wolfvollprecht.UberWriter.gschema.xml:10
msgid "If enabled, the window will be dark themed If disabled, the window will be light themed asked to install them manually."
msgstr ""
#. <attribute name="action">win.change_label</attribute>
#. <attribute name="target">String 1</attribute>
#: data/ui/App_menu.ui:10
msgid "New window"
msgstr "Ventana nueva"
#: data/ui/Menu.ui:53
msgid "_Shortcuts"
msgstr "Atajo_s"
#: data/ui/Menu.ui:49
msgid "Pandoc _Help" msgid "Pandoc _Help"
msgstr "Ayuda de Pandoc" msgstr "Ayuda de Pandoc"
#: data/ui/Menu.ui:44 data/ui/Preferences.ui:14 #: data/ui/Menu.ui:59
msgid "Preferences" msgid "_About"
msgstr "Preferencias" msgstr "_Acerca de"
#: data/ui/Menu.ui:49 #: data/ui/Menu.ui:62
#, fuzzy msgid "_Quit"
#| msgid "_Shortcuts" msgstr "Salir"
msgid "_Keyboard Shortcuts"
msgstr "Atajo_s"
#: data/ui/Menu.ui:53
#, fuzzy
#| msgid "UberWriter"
msgid "_About UberWriter"
msgstr "UberWriter"
#: data/ui/Preferences.ui:45
msgid "Use dark mode"
msgstr "Modo oscuro"
#: data/ui/Preferences.ui:56
msgid "Autospellcheck"
msgstr "Corrección ortográfica automática"
#: data/ui/Preferences.ui:95
msgid "page 1"
msgstr "página 1"
#: data/ui/Shortcuts.ui:13 #: data/ui/Shortcuts.ui:13
msgctxt "shortcut window" msgctxt "shortcut window"
@ -327,7 +479,7 @@ msgstr "Negita"
#: data/ui/Shortcuts.ui:114 #: data/ui/Shortcuts.ui:114
msgctxt "shortcut window" msgctxt "shortcut window"
msgid "Header" msgid "Header"
msgstr "Encabezado" msgstr "Cabecera"
#: data/ui/Shortcuts.ui:121 #: data/ui/Shortcuts.ui:121
msgctxt "shortcut window" msgctxt "shortcut window"
@ -349,354 +501,241 @@ msgctxt "shortcut window"
msgid "Select all" msgid "Select all"
msgstr "Seleccionar todo" msgstr "Seleccionar todo"
#: data/ui/UberwriterAdvancedExportDialog.ui:117
msgid "Normalize"
msgstr "Normalizar"
#: data/ui/UberwriterAdvancedExportDialog.ui:122
msgid ""
"Removes things like double spaces or spaces at the beginning of a paragraph"
msgstr ""
"Quita elementos como espacios o espacios dobles al comienzo de un párrafo"
#: data/ui/UberwriterWindow.ui:19 #: data/ui/UberwriterWindow.ui:19
msgid "Next Match" msgid "Next Match"
msgstr "Coincidencia siguiente" msgstr "Coincidencia siguiente"
#: data/ui/UberwriterWindow.ui:36 #: data/ui/UberwriterWindow.ui:41
msgid "Open Replace" msgid "Open Replace"
msgstr "Reemplazar" msgstr "Abrir Reemplazar"
#: data/ui/UberwriterWindow.ui:96 #: data/ui/UberwriterWindow.ui:52
msgid "Words:" msgid "Activate Regex"
msgstr "Palabras:" msgstr "Expresiones regulares"
#: data/ui/UberwriterWindow.ui:139 #: data/ui/UberwriterWindow.ui:74
msgid "Characters:" msgid "_New"
msgstr "Caracteres:" msgstr "_Nuevo"
#: data/ui/UberwriterWindow.ui:279 #: data/ui/UberwriterWindow.ui:84
msgid "_Open"
msgstr "_Abrir"
#: data/ui/UberwriterWindow.ui:102
msgid "Open examples"
msgstr "Abrir ejemplos"
#: data/ui/UberwriterWindow.ui:114
msgid "_Quick markdown tutorial"
msgstr "_Tutorial breve de Markdown"
#: data/ui/UberwriterWindow.ui:131
msgid "_Save"
msgstr "_Guardar"
#: data/ui/Menu.ui:24
msgid "Save _As"
msgstr "Guardar _como"
#: data/ui/UberwriterWindow.ui:157
msgid "Export as HTML"
msgstr "Exportar como HTML"
#: data/ui/UberwriterWindow.ui:166
msgid "Export as PDF"
msgstr "Exportar como PDF"
#: data/ui/UberwriterWindow.ui:201
msgid "Copy Raw HTML to Clipboard"
msgstr "Copiar código HTML al portapapeles"
#: data/ui/UberwriterWindow.ui:254
msgid "Sidebar"
msgstr "Barra lateral"
#: data/ui/UberwriterWindow.ui:270
msgid "Open Search and Replace"
msgstr "Abrir Buscar y reemplazar"
#: data/ui/UberwriterWindow.ui:271
msgid "Search and Replace ..."
msgstr "Buscar y reemplazar…"
#: data/ui/UberwriterWindow.ui:295
msgid "Previous Match" msgid "Previous Match"
msgstr "Coincidencia anterior" msgstr "Coincidencia anterior"
#: data/ui/UberwriterWindow.ui:320 #: data/ui/UberwriterWindow.ui:339
msgid "aA"
msgstr ""
#: data/ui/UberwriterWindow.ui:324
msgid "Case Sensitive" msgid "Case Sensitive"
msgstr "Coincidencia de mayúsculas y minúsculas" msgstr "Distinguir mayúsculas y minúsculas"
#: data/ui/UberwriterWindow.ui:334 #: data/ui/UberwriterWindow.ui:443
msgid "(.*)"
msgstr ""
#: data/ui/UberwriterWindow.ui:427
msgid "Replace" msgid "Replace"
msgstr "Reemplazar" msgstr "Reemplazar"
#: data/ui/UberwriterWindow.ui:441 #: data/ui/UberwriterWindow.ui:457
msgid "Replace all" msgid "Replace all"
msgstr "Reemplazar todo" msgstr "Reemplazar todo"
#: uberwriter/FormatShortcuts.py:99 #: uberwriter/FormatShortcuts.py:91
msgid "emphasized text"
msgstr "texto destacado"
#: uberwriter/FormatShortcuts.py:101
msgid "strong text"
msgstr "texto en negrita"
#: uberwriter/FormatShortcuts.py:103
msgid "striked out text" msgid "striked out text"
msgstr "texto destacado" msgstr "texto tachado"
#: uberwriter/FormatShortcuts.py:121 #: data/ui/Export.ui:565 uberwriter/plugins/bibtex/bibtex_item.glade:18
msgid "List item" #: uberwriter/plugins/bibtex/bibtex_item.glade:32
msgstr "Elemento de lista" #: uberwriter/plugins/bibtex/bibtex_item.glade:45
msgid "label"
msgstr "etiqueta"
#: uberwriter/FormatShortcuts.py:181 #: uberwriter_lib/AppWindow.py:248
msgid "Heading"
msgstr "Encabezado"
#: uberwriter/UberwriterExportDialog.py:48
msgid "Untitled document.md"
msgstr "Sin Título.md"
#: uberwriter/UberwriterExportDialog.py:372
msgid "Please, install the TexLive extension from Gnome Software or running\n"
msgstr ""
"or favor, instala la extensión de TexLive desde Gnome Software o ejecutando\n"
#: uberwriter/UberwriterExportDialog.py:375
msgid "Please, install TexLive from your distribuiton repositories"
msgstr "Por favor, instala TexLive desde los repositorios de tu sistema"
#: uberwriter/UberwriterInlinePreview.py:183
msgid "Website is not available"
msgstr "El sitio web no está disponible"
#: uberwriter/UberwriterInlinePreview.py:185
msgid "Website is available"
msgstr "El sitio web está disponible"
#: uberwriter/UberwriterInlinePreview.py:435
msgid "Open Link in Webbrowser"
msgstr "Abrir enlace en un navegador web"
#: uberwriter/UberwriterInlinePreview.py:500
msgid "No matching footnote found"
msgstr "No se encontró la nota de pie correspondiente"
#: uberwriter/UberwriterWindow.py:572
msgid "Save your File"
msgstr "Guarde su archivo"
#: uberwriter/UberwriterWindow.py:678
msgid "MarkDown or Plain Text"
msgstr "Markdown o texto simple"
#: uberwriter/UberwriterWindow.py:681
msgid "Open a .md-File"
msgstr "Abrir un archivo .md"
#: uberwriter/UberwriterWindow.py:706
msgid "You have not saved your changes."
msgstr "No ha guardado los cambios."
#: uberwriter/UberwriterWindow.py:708
msgid "Close without Saving"
msgstr "Cerrar sin guardar"
#: uberwriter/UberwriterWindow.py:709
msgid "Cancel"
msgstr "Cancelar"
#: uberwriter/UberwriterWindow.py:710
msgid "Save now"
msgstr "Guardar ahora"
#: uberwriter/UberwriterWindow.py:711
msgid "Unsaved changes"
msgstr "Cambios sin guardar"
#: uberwriter/UberwriterWindow.py:742
#, fuzzy
#| msgid "CSS File"
msgid "New File"
msgstr "Archivo CSS"
#: uberwriter/UberwriterWindow.py:780
msgid "You can not enable the Spell Checker."
msgstr "No puede activar el corrector ortográfico."
#: uberwriter/UberwriterWindow.py:783
msgid ""
"Please install 'hunspell' or 'aspell' dictionarys for your language from the "
"software center."
msgstr ""
"Instale los diccionarios de «hunspell» o «aspell» para su idioma desde el "
"centro de software."
#: uberwriter/headerbars.py:76
msgid "Exit Fullscreen"
msgstr "Salir de pantalla completa"
#: uberwriter/headerbars.py:118
msgid "New"
msgstr "Nuevo"
#: uberwriter/headerbars.py:119
msgid "Open"
msgstr "Abrir"
#: uberwriter/headerbars.py:121
msgid "Save"
msgstr "Guardar"
#: uberwriter/headerbars.py:128
msgid "Open Recent"
msgstr "Abrir archivo reciente"
#: uberwriter/headerbars.py:130
msgid "Search and replace"
msgstr "Buscar y reemplazar"
#: uberwriter/headerbars.py:131
msgid "Menu"
msgstr "Menu"
#: uberwriter_lib/AppWindow.py:173
msgid "Show debug messages (-vv debugs uberwriter_lib also)"
msgstr "Mostrar mensajes de depuración (-vv depura uberwriter_lib también)"
#: uberwriter_lib/AppWindow.py:175
msgid "Use experimental features" msgid "Use experimental features"
msgstr "Usar características experimentales" msgstr "Usar características experimentales"
#: uberwriter_lib/gtkspellcheck/oxt_extract.py:259 #: uberwriter_lib/gtkspellcheck/oxt_extract.py:259
msgid "extension \"{}\" is not a valid ZIP file" msgid "extension \"{}\" is not a valid ZIP file"
msgstr "la extensión \"{}\" no es un formato de archivo ZIP válido" msgstr "la extensión «{}» no es un archivo ZIP válido"
#: uberwriter_lib/gtkspellcheck/oxt_extract.py:265 #: uberwriter_lib/gtkspellcheck/oxt_extract.py:265
msgid "extension \"{}\" has no valid XML dictionary registry" msgid "extension \"{}\" has no valid XML dictionary registry"
msgstr "" msgstr "la extensión «{}» no incluye un registro de diccionario XML válido"
#: uberwriter_lib/gtkspellcheck/oxt_extract.py:285 #: uberwriter_lib/gtkspellcheck/oxt_extract.py:285
msgid "unable to move extension, file with same name exists within move_path" msgid "unable to move extension, file with same name exists within move_path"
msgstr "" msgstr "no se puede mover la extensión; ya existe un archivo con el mismo nombre en move_path"
#: uberwriter_lib/gtkspellcheck/oxt_extract.py:293 #: uberwriter_lib/gtkspellcheck/oxt_extract.py:293
msgid "unable to move extension, move_path is not a directory" msgid "unable to move extension, move_path is not a directory"
msgstr "" msgstr "no se puede mover la extensión; move_path no es un directorio"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:105 #: uberwriter_lib/gtkspellcheck/spellcheck.py:105
msgid "Unknown" msgid "Unknown"
msgstr "Desconocido" msgstr "Desconocido"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:487 #: data/de.wolfvollprecht.UberWriter.gschema.xml:18
msgid "(no suggestions)" msgid "Open file base path"
msgstr "(no hay sugerencias)" msgstr "Abrir ruta de base de archivo"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:509 #: data/de.wolfvollprecht.UberWriter.gschema.xml:19
#: uberwriter_lib/gtkspellcheck/spellcheck.py:512 msgid "Open file paths of the current session"
msgid "Add \"{}\" to Dictionary" msgstr "Abrir rutas de archivos de la sesión actual"
msgstr "Añadir «{}» al diccionario"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:516 #: data/ui/App_menu.ui:36
#: uberwriter_lib/gtkspellcheck/spellcheck.py:518 msgid "Help to _translate"
msgid "Ignore All" msgstr "Ayudar a _traducir"
msgstr "Ignorar todo"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:533 #: data/ui/App_menu.ui:40
#: uberwriter_lib/gtkspellcheck/spellcheck.py:535 msgid "Donate to the project"
msgid "Languages" msgstr "Donar al proyecto"
msgstr "Idiomas"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:551 #: data/ui/WindowMenu.ui:24
#: uberwriter_lib/gtkspellcheck/spellcheck.py:554 msgid "Search and Replace"
msgid "Suggestions" msgstr "Buscar y reemplazar"
msgstr "Sugerencias"
#~ msgid "UberWriter, a simple and distraction free Markdown Editor" #: data/ui/About.ui:12
#~ msgstr "UberWriter, un editor Markdown simple y sin distracciones" msgid "Copyright (C) 2018, Wolf Vollprecht"
msgstr "Derechos de autor © 2018 Wolf Vollprecht"
#~ msgid "_File" #: data/ui/About.ui:14
#~ msgstr "_Archivo" msgid "Uberwriter website"
msgstr "Sitio web de Uberwriter"
#~ msgid "Open Recent File" #: data/ui/About.ui:60
#~ msgstr "Abrir archivo reciente" msgid "Donations:"
msgstr "Donaciones:"
#~ msgid "Export as ODT" #: data/ui/About.ui:69
#~ msgstr "Exportar como ODT" msgid "Liberapay"
msgstr "Liberapay"
#~ msgid "Advanced Export..." #: data/ui/About.ui:100
#~ msgstr "Exportación avanzada…" msgid "Help to translate:"
msgstr "Ayudar a traducir:"
#~ msgid "Copy raw HTML to clipboard" #: data/ui/About.ui:109
#~ msgstr "Copiar código HTML al portapapeles" msgid "Poeditor"
msgstr "Poeditor"
#~ msgid "_Edit" #: data/ui/Export.ui:559 data/ui/Export.ui:569
#~ msgstr "_Editar" msgid "PDF"
msgstr "PDF"
#~ msgid "_View" #: data/ui/Export.ui:582
#~ msgstr "_Ver" msgid "HTML"
msgstr "HTML"
#~ msgid "Light text on a dark background" #: data/ui/Export.ui:595
#~ msgstr "Texto claro sobre un fondo oscuro" msgid "ODT"
msgstr "ODT"
#~ msgid "Dark Mode" #: data/ui/Export.ui:607
#~ msgstr "Modo oscuro" msgid "Advanced"
msgstr "Avanzado"
#~ msgid "Switch to preview mode" #: data/ui/Menu.ui:28
#~ msgstr "Cambiar a modo de previsualización" msgid "_Export"
msgstr "_Exportar"
#~ msgid "Auto _Spellcheck" #: data/ui/Menu.ui:32
#~ msgstr "_Corrección ortográfica automática" msgid "Copy HTML"
msgstr "Copiar HTML"
#~ msgid "F_ormat" #: data/ui/Menu.ui:38 data/ui/Preferences.ui:14
#~ msgstr "F_ormato" msgid "Preferences"
msgstr "Preferencias"
#~ msgid "Horizontal Rule" #: data/ui/Menu.ui:44
#~ msgstr "Línea horizontal" msgid "Open Tutorial"
msgstr "Abrir tutorial"
#~ msgid "_Help" #: data/ui/Preferences.ui:45
#~ msgstr "Ay_uda" msgid "Use dark mode"
msgstr "Modo oscuro"
#~ msgid "Contents" #: data/ui/Preferences.ui:56
#~ msgstr "Contenido" msgid "Autospellcheck"
msgstr "Corrección ortográfica automática"
#~ msgid "Short Markdown Tutorial" #: data/ui/Preferences.ui:95
#~ msgstr "Tutorial breve de Markdown" msgid "page 1"
msgstr "página 1"
#~ msgid "Open Pandoc Online Markdown Help ..." #: uberwriter/UberwriterExportDialog.py:48
#~ msgstr "Abrir ayuda de Markdown Pandoc en línea…" msgid "Untitled document.md"
msgstr "Documento sin título.md"
#~ msgid "Get Help Online..." #: uberwriter/UberwriterExportDialog.py:372
#~ msgstr "Ver ayuda online..." msgid "Please, install the TexLive extension from Gnome Software or running\n"
msgstr "Instale la extensión de TexLive desde Software de GNOME o ejecutando\n"
#~ msgid "Translate This Application..." #: uberwriter/UberwriterExportDialog.py:375
#~ msgstr "Traducir esta aplicación…" msgid "Please, install TexLive from your distribuiton repositories"
msgstr "Instale TexLive desde los repositorios de la distribución"
#~ msgid "Go into focus mode" #: uberwriter/UberwriterWindow.py:894 uberwriter/UberwriterWindow.py:943
#~ msgstr "Ir al modo de concentración" msgid "New"
msgstr "Nuevo"
#~ msgid "Go into fullscreen mode" #: uberwriter/UberwriterWindow.py:895 uberwriter/UberwriterWindow.py:944
#~ msgstr "Ir al modo de pantalla completa" msgid "Open"
msgstr "Abrir"
#~ msgid "Show HTML preview" #: uberwriter/UberwriterWindow.py:899 uberwriter/UberwriterWindow.py:946
#~ msgstr "Mostrar vista preliminar de HTML" #: uberwriter/UberwriterWindow.py:949
msgid "Open Recent"
msgstr "Abrir recientes"
#~ msgid "You can not export to PDF." #: uberwriter/UberwriterWindow.py:901 uberwriter/UberwriterWindow.py:951
#~ msgstr "No puede exportar a PDF." msgid "Save"
msgstr "Guardar"
#~ msgid "" #: uberwriter/UberwriterWindow.py:904 uberwriter/UberwriterWindow.py:954
#~ "Please install <a href=\"apt:texlive\">texlive</a> from the software " msgid "Search and replace"
#~ "center." msgstr "Buscar y reemplazar"
#~ msgstr ""
#~ "Instale <a href=\"apt:texlive\">texlive</a> desde el centro de software."
#~ msgid "New window" #: uberwriter/UberwriterWindow.py:906 uberwriter/UberwriterWindow.py:956
#~ msgstr "Nueva ventana" msgid "Menu"
msgstr "Menú"
#~ msgid "_About" #: uberwriter/UberwriterWindow.py:961
#~ msgstr "_Acerca de" msgid "Exit Fullscreen"
msgstr "Salir de pantalla completa"
#~ msgid "_Quit"
#~ msgstr "Salir"
#~ msgid "Activate Regex"
#~ msgstr "Expresiones regulares"
#~ msgid "_New"
#~ msgstr "_Nuevo"
#~ msgid "_Open"
#~ msgstr "Abrir"
#~ msgid "Open examples"
#~ msgstr "Abrir ejemplos"
#~ msgid "_Quick markdown tutorial"
#~ msgstr "Tutorial breve de Markdown"
#~ msgid "_Save"
#~ msgstr "Guardar"
#~ msgid "Export as HTML"
#~ msgstr "Exportar como HTML"
#~ msgid "Export as PDF"
#~ msgstr "Exportar como PDF"
#~ msgid "Copy Raw HTML to Clipboard"
#~ msgstr "Copiar código HTML al portapapeles"
#~ msgid "Sidebar"
#~ msgstr "Barra lateral"
#~ msgid "Open Search and Replace"
#~ msgstr "Abrir \"buscar y reemplazar\""
#~ msgid "Search and Replace ..."
#~ msgstr "Buscar y reemplazar..."

Binary file not shown.

Binary file not shown.

View File

@ -1,71 +1,211 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: UberWriter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-27 21:21+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: eu\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2\n" "X-Generator: POEditor.com\n"
"Project-Id-Version: UberWriter\n"
"Language: eu\n"
#: data/de.wolfvollprecht.UberWriter.gschema.xml:9 #: uberwriter_lib/gtkspellcheck/spellcheck.py:487
#, fuzzy msgid "(no suggestions)"
msgid "Dark mode" msgstr "(iradokizunik ez)"
msgstr "Modu iluna"
#: data/de.wolfvollprecht.UberWriter.gschema.xml:10 #: uberwriter_lib/gtkspellcheck/spellcheck.py:509
msgid "" #: uberwriter_lib/gtkspellcheck/spellcheck.py:512
"If enabled, the window will be dark themed If disabled, the window will be " msgid "Add \"{}\" to Dictionary"
"light themed asked to install them manually." msgstr "Gehitu \"{}\" hiztegira"
msgstr ""
#: data/de.wolfvollprecht.UberWriter.gschema.xml:18 #: uberwriter_lib/gtkspellcheck/spellcheck.py:516
msgid "Open file base path" #: uberwriter_lib/gtkspellcheck/spellcheck.py:518
msgstr "" msgid "Ignore All"
msgstr "Ez ikusi egin guztiei"
#: data/de.wolfvollprecht.UberWriter.gschema.xml:19 #: uberwriter_lib/gtkspellcheck/spellcheck.py:533
msgid "Open file paths of the current session" #: uberwriter_lib/gtkspellcheck/spellcheck.py:535
msgstr "" msgid "Languages"
msgstr "Hizkuntzak"
#: data/ui/About.ui:12 #: uberwriter_lib/gtkspellcheck/spellcheck.py:551
#, fuzzy #: uberwriter_lib/gtkspellcheck/spellcheck.py:554
msgid "Copyright (C) 2018, Wolf Vollprecht" msgid "Suggestions"
msgstr "Copyright-a (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>" msgstr "Iradokizunak"
#: data/ui/About.ui:14 #: ../uberwriter.desktop.in.h:1
#, fuzzy msgid "UberWriter"
msgid "Uberwriter website"
msgstr "UberWriter" msgstr "UberWriter"
#: data/ui/About.ui:66 #: ../uberwriter.desktop.in.h:2
msgid "Donations:" msgid "UberWriter, a simple and distraction free Markdown Editor"
msgstr "UberWriter, markaketa-editore sinple eta arreta-galtzerik gabea"
#: uberwriter/UberwriterInlinePreview.py:187
msgid "Website is not available"
msgstr "" msgstr ""
#: data/ui/About.ui:75 #: uberwriter/UberwriterInlinePreview.py:189
msgid "Liberapay" msgid "Website is available"
msgstr "" msgstr ""
#: data/ui/About.ui:106 #: uberwriter/UberwriterInlinePreview.py:441
msgid "Help to translate:" msgid "Open Link in Webbrowser"
msgstr "" msgstr ""
#: data/ui/About.ui:115 #: uberwriter/UberwriterInlinePreview.py:503
#, fuzzy msgid "No matching footnote found"
msgid "Poeditor" msgstr ""
#: data/ui/UberwriterWindow.ui:66
msgid "_File"
msgstr "_Fitxategia"
#: data/ui/UberwriterWindow.ui:96
msgid "Open Recent File"
msgstr "Ireki oraintsuko fitxategia"
#: data/ui/UberwriterWindow.ui:175
msgid "Export as ODT"
msgstr "Esportatu ODT bezala"
#: data/ui/UberwriterWindow.ui:186
msgid "Advanced Export..."
msgstr "Esportatze aurreratua..."
#: ../data/ui/UberwriterWindow.ui.h:5
msgid "Copy raw HTML to clipboard"
msgstr "Kopiatu HTML gordina arbelera"
#: ../data/ui/UberwriterWindow.ui.h:6
msgid "_Edit"
msgstr "_Editatu" msgstr "_Editatu"
#: data/ui/UberwriterWindow.ui:229
msgid "_View"
msgstr "_Ikusi"
#: data/ui/UberwriterWindow.ui:261
msgid "Light text on a dark background"
msgstr ""
#: data/ui/WindowMenu.ui:14
msgid "Dark Mode"
msgstr "Modu iluna"
#: data/ui/UberwriterWindow.ui:261
msgid "Switch to preview mode"
msgstr ""
#: data/ui/Menu.ui:12
msgid "Preview"
msgstr ""
#: data/ui/UberwriterWindow.ui:298 data/ui/WindowMenu.ui:28
msgid "Auto _Spellcheck"
msgstr "_Egiaztatu ortografia automatikoki"
#: ../data/ui/UberwriterWindow.ui.h:13
msgid "F_ormat"
msgstr "F_ormatua"
#: ../data/ui/UberwriterWindow.ui.h:14
msgid "Unordered List Item"
msgstr "Ordenatu gabeko zerrendako elementua"
#: ../data/ui/UberwriterWindow.ui.h:15
msgid "Horizontal Rule"
msgstr "Marra horizontala"
#: uberwriter/FormatShortcuts.py:186
msgid "Heading"
msgstr "Izenburua"
#: data/ui/UberwriterWindow.ui:312
msgid "_Help"
msgstr "_Laguntza"
#: data/ui/UberwriterWindow.ui:322
msgid "Contents"
msgstr "Edukiak"
#: data/ui/UberwriterWindow.ui:335
msgid "Short Markdown Tutorial"
msgstr ""
#: data/ui/UberwriterWindow.ui:343
msgid "Open Pandoc Online Markdown Help ..."
msgstr ""
#: ../data/ui/UberwriterWindow.ui.h:21
msgid "Get Help Online..."
msgstr "Lortu laguntza linean..."
#: data/ui/UberwriterWindow.ui:359
msgid "Translate This Application..."
msgstr "Itzuli aplikazio hau..."
#: data/ui/Menu.ui:7
msgid "Focus Mode"
msgstr "Fokuaren modua"
#: data/ui/UberwriterWindow.ui:424 data/ui/UberwriterWindow.ui:425
msgid "Go into focus mode"
msgstr "Joan fokuaren modura"
#: data/ui/Menu.ui:17
msgid "Fullscreen"
msgstr "Pantaila osoa"
#: data/ui/UberwriterWindow.ui:442 data/ui/UberwriterWindow.ui:443
msgid "Go into fullscreen mode"
msgstr "Joan pantaila osoko modura"
#: data/ui/UberwriterWindow.ui:460 data/ui/UberwriterWindow.ui:461
msgid "Show HTML preview"
msgstr ""
#: data/ui/UberwriterWindow.ui:112
msgid "Words:"
msgstr "Hitzak:"
#: data/ui/UberwriterWindow.ui:155
msgid "Characters:"
msgstr "Karaktereak:"
#: uberwriter_lib/AppWindow.py:246
msgid "Show debug messages (-vv debugs uberwriter_lib also)"
msgstr "Erakutsi arazketako mezuak (-vv erabiliz uberwriter_lib ere arazten da)"
#: uberwriter/FormatShortcuts.py:87
msgid "emphasized text"
msgstr "nabarmendutako testua"
#: uberwriter/FormatShortcuts.py:89
msgid "strong text"
msgstr "testu lodia"
#: uberwriter/FormatShortcuts.py:105
msgid "List item"
msgstr "Zerrendako elementua"
#: data/ui/Export.ui:517 data/ui/UberwriterAdvancedExportDialog.ui:36
msgid "Export"
msgstr "Esportatu"
#: data/ui/Export.ui:38 data/ui/UberwriterAdvancedExportDialog.ui:98 #: data/ui/Export.ui:38 data/ui/UberwriterAdvancedExportDialog.ui:98
msgid "Smart" msgid "Smart"
msgstr "Adimentsua" msgstr "Adimentsua"
#: data/ui/Export.ui:43 data/ui/UberwriterAdvancedExportDialog.ui:103 #: data/ui/Export.ui:43 data/ui/UberwriterAdvancedExportDialog.ui:103
msgid "Pandoc can automatically make \"--\" to a long dash and more" msgid "Pandoc can automatically make \"--\" to a long dash and more"
msgstr "" msgstr "Pandoc-ek automatikoki bihur dezake \"--\" marra luzean eta gauza gehiago"
"Pandoc-ek automatikoki bihur dezake \"--\" marra luzean eta gauza gehiago"
#: data/ui/UberwriterAdvancedExportDialog.ui:117
msgid "Normalize"
msgstr "Normalizatu"
#: data/ui/UberwriterAdvancedExportDialog.ui:122
msgid "Removes things like double spaces or spaces at the beginning of a paragraph"
msgstr "Zuriune bikoitzak edo paragrafo hasierako zuriuneak bezalako gauzak kentzen ditu"
#: data/ui/Export.ui:56 data/ui/UberwriterAdvancedExportDialog.ui:135 #: data/ui/Export.ui:56 data/ui/UberwriterAdvancedExportDialog.ui:135
msgid "Table of Contents" msgid "Table of Contents"
@ -76,12 +216,8 @@ msgid "Standalone"
msgstr "Autonomoa" msgstr "Autonomoa"
#: data/ui/Export.ui:77 data/ui/UberwriterAdvancedExportDialog.ui:157 #: data/ui/Export.ui:77 data/ui/UberwriterAdvancedExportDialog.ui:157
msgid "" msgid "Use a header and footer to include things like stylesheets and meta information"
"Use a header and footer to include things like stylesheets and meta " msgstr "Erabili goiburua eta orri-oina estilo-orriak eta meta-informazioa bezalako gauzak gehitzeko"
"information"
msgstr ""
"Erabili goiburua eta orri-oina estilo-orriak eta meta-informazioa bezalako "
"gauzak gehitzeko"
#: data/ui/Export.ui:90 data/ui/UberwriterAdvancedExportDialog.ui:171 #: data/ui/Export.ui:90 data/ui/UberwriterAdvancedExportDialog.ui:171
msgid "Number Sections" msgid "Number Sections"
@ -125,21 +261,13 @@ msgstr "Nabarmentze-estiloa "
msgid "<b>Syntax highlighting</b> (HTML, LaTeX)" msgid "<b>Syntax highlighting</b> (HTML, LaTeX)"
msgstr "<b>Sintaxiaren nabarmentzea</b> (HTML, LaTeX)" msgstr "<b>Sintaxiaren nabarmentzea</b> (HTML, LaTeX)"
#: data/ui/Export.ui:289 data/ui/UberwriterAdvancedExportDialog.ui:491
msgid "<b>Bibliography File</b>"
msgstr "<b>Bibliografia-fitxategia</b>"
#: data/ui/Export.ui:329 data/ui/UberwriterAdvancedExportDialog.ui:371 #: data/ui/Export.ui:329 data/ui/UberwriterAdvancedExportDialog.ui:371
msgid "Self Contained" msgid "Self Contained"
msgstr "Beregaina" msgstr "Beregaina"
#: data/ui/Export.ui:334 data/ui/UberwriterAdvancedExportDialog.ui:376 #: data/ui/Export.ui:334 data/ui/UberwriterAdvancedExportDialog.ui:376
msgid "" msgid "Produces a HTML that has no external dependencies (all images and stylesheets are included)"
"Produces a HTML that has no external dependencies (all images and " msgstr "Kanpoko menpekotasunik gabeko HTMLa sortzen du (irudi eta estilo-orri guztiak erantsita daude)"
"stylesheets are included)"
msgstr ""
"Kanpoko menpekotasunik gabeko HTMLa sortzen du (irudi eta estilo-orri "
"guztiak erantsita daude)"
#: data/ui/Export.ui:346 data/ui/UberwriterAdvancedExportDialog.ui:389 #: data/ui/Export.ui:346 data/ui/UberwriterAdvancedExportDialog.ui:389
msgid "HTML 5" msgid "HTML 5"
@ -163,98 +291,111 @@ msgstr "CSS fitxategia"
msgid "<b>HTML Options</b>" msgid "<b>HTML Options</b>"
msgstr "<b>HTML aukerak</b>" msgstr "<b>HTML aukerak</b>"
#: data/ui/Export.ui:289 data/ui/UberwriterAdvancedExportDialog.ui:491
msgid "<b>Bibliography File</b>"
msgstr "<b>Bibliografia-fitxategia</b>"
#: data/ui/Export.ui:423 data/ui/UberwriterAdvancedExportDialog.ui:510 #: data/ui/Export.ui:423 data/ui/UberwriterAdvancedExportDialog.ui:510
msgid "Commandline Reference" msgid "Commandline Reference"
msgstr "Komando-lerroko erreferentzia" msgstr "Komando-lerroko erreferentzia"
#: data/ui/Export.ui:517 data/ui/UberwriterAdvancedExportDialog.ui:36 #: ../data/ui/AboutUberwriterDialog.ui.h:1
msgid "Export" msgid "# Copyright (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>\n"
msgstr "Esportatu" "# This program is free software: you can redistribute it and/or modify it \n"
"# under the terms of the GNU General Public License version 3, as published \n"
#: data/ui/Export.ui:559 data/ui/Export.ui:569 "# by the Free Software Foundation.\n"
msgid "PDF" "# \n"
"# This program is distributed in the hope that it will be useful, but \n"
"# WITHOUT ANY WARRANTY; without even the implied warranties of \n"
"# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR \n"
"# PURPOSE. See the GNU General Public License for more details.\n"
"# \n"
"# You should have received a copy of the GNU General Public License along \n"
"# with this program. If not, see <http://www.gnu.org/licenses/>.\n"
""
msgstr "" msgstr ""
#: data/ui/Export.ui:565 uberwriter/plugins/bibtex/bibtex_item.glade:18 #: ../data/ui/AboutUberwriterDialog.ui.h:14
#: uberwriter/plugins/bibtex/bibtex_item.glade:32 msgid "Copyright (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>"
#: uberwriter/plugins/bibtex/bibtex_item.glade:45 msgstr "Copyright-a (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>"
msgid "label"
msgstr ""
#: data/ui/Export.ui:582 #: uberwriter/UberwriterWindow.py:347
#, fuzzy msgid "Save your File"
msgid "HTML" msgstr "Gorde zure fitxategia"
msgstr "HTML 5"
#: data/ui/Export.ui:595 #: uberwriter/UberwriterWindow.py:490
msgid "ODT" msgid "You can not export to PDF."
msgstr "" msgstr "Ezin duzu PDFra esportatu."
#: data/ui/Export.ui:607 #: uberwriter/UberwriterWindow.py:492
#, fuzzy msgid "Please install <a href=\"apt:texlive\">texlive</a> from the software center."
msgid "Advanced" msgstr "Mesedez instalatu <a href=\"apt:texlive\">texlive</a> software-zentrotik."
msgstr "Esportatze aurreratua..."
#: data/ui/Menu.ui:6 #: uberwriter/UberwriterWindow.py:448
msgid "Focus Mode" msgid "MarkDown or Plain Text"
msgstr "Fokuaren modua" msgstr "Markaketa edo testu-laua"
#: data/ui/Menu.ui:10 #: uberwriter/UberwriterWindow.py:451
msgid "Preview" msgid "Open a .md-File"
msgstr "" msgstr "Ireki .md fitxategi bat"
#: data/ui/Menu.ui:14 #: uberwriter/UberwriterWindow.py:473
msgid "Fullscreen" msgid "You have not saved your changes."
msgstr "Pantaila osoa" msgstr "Ez dituzu gorde zure aldaketak."
#: data/ui/Menu.ui:20 #: uberwriter/UberwriterWindow.py:475
#, fuzzy msgid "Close without Saving"
msgid "Save _As" msgstr "Itxi gorde gabe"
#: uberwriter/UberwriterWindow.py:476
msgid "Cancel"
msgstr "Utzi"
#: uberwriter/UberwriterWindow.py:477
msgid "Save now"
msgstr "Gorde orain" msgstr "Gorde orain"
#: data/ui/Menu.ui:24 #: uberwriter/UberwriterWindow.py:478
msgid "Unsaved changes"
msgstr "Gorde gabeko aldaketak"
#: uberwriter/UberwriterWindow.py:537
msgid "You can not enable the Spell Checker."
msgstr "Ezin duzu zuzentzaile ortografikoa gaitu."
#: uberwriter/UberwriterWindow.py:540
msgid "Please install 'hunspell' or 'aspell' dictionarys for your language from the software center."
msgstr "Mesedez instalatu zure hizkuntzaren 'hunspell' edo 'aspell' hiztegiak software-zentrotik."
#: data/de.wolfvollprecht.UberWriter.gschema.xml:9
#, fuzzy #, fuzzy
msgid "_Export" msgid "Dark mode"
msgstr "Esportatu" msgstr "Modu iluna"
#: data/ui/Menu.ui:28 #: data/de.wolfvollprecht.UberWriter.gschema.xml:10
msgid "Copy HTML" msgid "If enabled, the window will be dark themed If disabled, the window will be light themed asked to install them manually."
msgstr "" msgstr ""
#: data/ui/Menu.ui:34 #. <attribute name="action">win.change_label</attribute>
msgid "Open Tutorial" #. <attribute name="target">String 1</attribute>
msgstr "" #: data/ui/App_menu.ui:10
msgid "New window"
#: data/ui/Menu.ui:39
msgid "Pandoc _Help"
msgstr ""
#: data/ui/Menu.ui:44 data/ui/Preferences.ui:14
msgid "Preferences"
msgstr ""
#: data/ui/Menu.ui:49
msgid "_Keyboard Shortcuts"
msgstr "" msgstr ""
#: data/ui/Menu.ui:53 #: data/ui/Menu.ui:53
#, fuzzy msgid "_Shortcuts"
#| msgid "UberWriter" msgstr ""
msgid "_About UberWriter"
msgstr "UberWriter"
#: data/ui/Preferences.ui:45 #: data/ui/Menu.ui:49
#, fuzzy msgid "Pandoc _Help"
msgid "Use dark mode" msgstr ""
msgstr "Modu iluna"
#: data/ui/Preferences.ui:56 #: data/ui/Menu.ui:59
#, fuzzy msgid "_About"
msgid "Autospellcheck" msgstr ""
msgstr "_Egiaztatu ortografia automatikoki"
#: data/ui/Preferences.ui:95 #: data/ui/Menu.ui:62
msgid "page 1" msgid "_Quit"
msgstr "" msgstr ""
#: data/ui/Shortcuts.ui:13 #: data/ui/Shortcuts.ui:13
@ -364,195 +505,101 @@ msgctxt "shortcut window"
msgid "Select all" msgid "Select all"
msgstr "" msgstr ""
#: data/ui/UberwriterAdvancedExportDialog.ui:117
msgid "Normalize"
msgstr "Normalizatu"
#: data/ui/UberwriterAdvancedExportDialog.ui:122
msgid ""
"Removes things like double spaces or spaces at the beginning of a paragraph"
msgstr ""
"Zuriune bikoitzak edo paragrafo hasierako zuriuneak bezalako gauzak kentzen "
"ditu"
#: data/ui/UberwriterWindow.ui:19 #: data/ui/UberwriterWindow.ui:19
msgid "Next Match" msgid "Next Match"
msgstr "" msgstr ""
#: data/ui/UberwriterWindow.ui:36 #: data/ui/UberwriterWindow.ui:41
#, fuzzy #, fuzzy
msgid "Open Replace" msgid "Open Replace"
msgstr "Ireki oraintsuko fitxategia" msgstr "Ireki oraintsuko fitxategia"
#: data/ui/UberwriterWindow.ui:96 #: data/ui/UberwriterWindow.ui:52
msgid "Words:" msgid "Activate Regex"
msgstr "Hitzak:" msgstr ""
#: data/ui/UberwriterWindow.ui:139 #: data/ui/UberwriterWindow.ui:74
msgid "Characters:" msgid "_New"
msgstr "Karaktereak:" msgstr ""
#: data/ui/UberwriterWindow.ui:279 #: data/ui/UberwriterWindow.ui:84
msgid "_Open"
msgstr ""
#: data/ui/UberwriterWindow.ui:102
#, fuzzy
msgid "Open examples"
msgstr "Ireki .md fitxategi bat"
#: data/ui/UberwriterWindow.ui:114
msgid "_Quick markdown tutorial"
msgstr ""
#: data/ui/UberwriterWindow.ui:131
#, fuzzy
msgid "_Save"
msgstr "Gorde orain"
#: data/ui/Menu.ui:24
#, fuzzy
msgid "Save _As"
msgstr "Gorde orain"
#: data/ui/UberwriterWindow.ui:157
#, fuzzy
msgid "Export as HTML"
msgstr "Esportatu ODT bezala"
#: data/ui/UberwriterWindow.ui:166
#, fuzzy
msgid "Export as PDF"
msgstr "Esportatu ODT bezala"
#: data/ui/UberwriterWindow.ui:201
#, fuzzy
msgid "Copy Raw HTML to Clipboard"
msgstr "Kopiatu HTML gordina arbelera"
#: data/ui/UberwriterWindow.ui:254
msgid "Sidebar"
msgstr ""
#: data/ui/UberwriterWindow.ui:270
msgid "Open Search and Replace"
msgstr ""
#: data/ui/UberwriterWindow.ui:271
msgid "Search and Replace ..."
msgstr ""
#: data/ui/UberwriterWindow.ui:295
msgid "Previous Match" msgid "Previous Match"
msgstr "" msgstr ""
#: data/ui/UberwriterWindow.ui:320 #: data/ui/UberwriterWindow.ui:339
msgid "aA"
msgstr ""
#: data/ui/UberwriterWindow.ui:324
msgid "Case Sensitive" msgid "Case Sensitive"
msgstr "" msgstr ""
#: data/ui/UberwriterWindow.ui:334 #: data/ui/UberwriterWindow.ui:443
msgid "(.*)"
msgstr ""
#: data/ui/UberwriterWindow.ui:427
msgid "Replace" msgid "Replace"
msgstr "" msgstr ""
#: data/ui/UberwriterWindow.ui:441 #: data/ui/UberwriterWindow.ui:457
msgid "Replace all" msgid "Replace all"
msgstr "" msgstr ""
#: uberwriter/FormatShortcuts.py:99 #: uberwriter/FormatShortcuts.py:91
msgid "emphasized text"
msgstr "nabarmendutako testua"
#: uberwriter/FormatShortcuts.py:101
msgid "strong text"
msgstr "testu lodia"
#: uberwriter/FormatShortcuts.py:103
#, fuzzy #, fuzzy
msgid "striked out text" msgid "striked out text"
msgstr "testu lodia" msgstr "testu lodia"
#: uberwriter/FormatShortcuts.py:121 #: data/ui/Export.ui:565 uberwriter/plugins/bibtex/bibtex_item.glade:18
msgid "List item" #: uberwriter/plugins/bibtex/bibtex_item.glade:32
msgstr "Zerrendako elementua" #: uberwriter/plugins/bibtex/bibtex_item.glade:45
msgid "label"
#: uberwriter/FormatShortcuts.py:181
msgid "Heading"
msgstr "Izenburua"
#: uberwriter/UberwriterExportDialog.py:48
msgid "Untitled document.md"
msgstr "" msgstr ""
#: uberwriter/UberwriterExportDialog.py:372 #: uberwriter_lib/AppWindow.py:248
msgid "Please, install the TexLive extension from Gnome Software or running\n"
msgstr ""
#: uberwriter/UberwriterExportDialog.py:375
msgid "Please, install TexLive from your distribuiton repositories"
msgstr ""
#: uberwriter/UberwriterInlinePreview.py:183
msgid "Website is not available"
msgstr ""
#: uberwriter/UberwriterInlinePreview.py:185
msgid "Website is available"
msgstr ""
#: uberwriter/UberwriterInlinePreview.py:435
msgid "Open Link in Webbrowser"
msgstr ""
#: uberwriter/UberwriterInlinePreview.py:500
msgid "No matching footnote found"
msgstr ""
#: uberwriter/UberwriterWindow.py:572
msgid "Save your File"
msgstr "Gorde zure fitxategia"
#: uberwriter/UberwriterWindow.py:678
msgid "MarkDown or Plain Text"
msgstr "Markaketa edo testu-laua"
#: uberwriter/UberwriterWindow.py:681
msgid "Open a .md-File"
msgstr "Ireki .md fitxategi bat"
#: uberwriter/UberwriterWindow.py:706
msgid "You have not saved your changes."
msgstr "Ez dituzu gorde zure aldaketak."
#: uberwriter/UberwriterWindow.py:708
msgid "Close without Saving"
msgstr "Itxi gorde gabe"
#: uberwriter/UberwriterWindow.py:709
msgid "Cancel"
msgstr "Utzi"
#: uberwriter/UberwriterWindow.py:710
msgid "Save now"
msgstr "Gorde orain"
#: uberwriter/UberwriterWindow.py:711
msgid "Unsaved changes"
msgstr "Gorde gabeko aldaketak"
#: uberwriter/UberwriterWindow.py:742
#, fuzzy
#| msgid "CSS File"
msgid "New File"
msgstr "CSS fitxategia"
#: uberwriter/UberwriterWindow.py:780
msgid "You can not enable the Spell Checker."
msgstr "Ezin duzu zuzentzaile ortografikoa gaitu."
#: uberwriter/UberwriterWindow.py:783
msgid ""
"Please install 'hunspell' or 'aspell' dictionarys for your language from the "
"software center."
msgstr ""
"Mesedez instalatu zure hizkuntzaren 'hunspell' edo 'aspell' hiztegiak "
"software-zentrotik."
#: uberwriter/headerbars.py:76
#, fuzzy
msgid "Exit Fullscreen"
msgstr "Pantaila osoa"
#: uberwriter/headerbars.py:118
msgid "New"
msgstr ""
#: uberwriter/headerbars.py:119
msgid "Open"
msgstr ""
#: uberwriter/headerbars.py:121
#, fuzzy
msgid "Save"
msgstr "Gorde orain"
#: uberwriter/headerbars.py:128
#, fuzzy
msgid "Open Recent"
msgstr "Ireki oraintsuko fitxategia"
#: uberwriter/headerbars.py:130
#, fuzzy
msgid "Search and replace"
msgstr "Ireki oraintsuko fitxategia"
#: uberwriter/headerbars.py:131
msgid "Menu"
msgstr ""
#: uberwriter_lib/AppWindow.py:173
msgid "Show debug messages (-vv debugs uberwriter_lib also)"
msgstr ""
"Erakutsi arazketako mezuak (-vv erabiliz uberwriter_lib ere arazten da)"
#: uberwriter_lib/AppWindow.py:175
msgid "Use experimental features" msgid "Use experimental features"
msgstr "" msgstr ""
@ -576,115 +623,145 @@ msgstr ""
msgid "Unknown" msgid "Unknown"
msgstr "" msgstr ""
#: uberwriter_lib/gtkspellcheck/spellcheck.py:487 #: data/de.wolfvollprecht.UberWriter.gschema.xml:18
msgid "(no suggestions)" msgid "Open file base path"
msgstr "(iradokizunik ez)" msgstr ""
#: uberwriter_lib/gtkspellcheck/spellcheck.py:509 #: data/de.wolfvollprecht.UberWriter.gschema.xml:19
#: uberwriter_lib/gtkspellcheck/spellcheck.py:512 msgid "Open file paths of the current session"
msgid "Add \"{}\" to Dictionary" msgstr ""
msgstr "Gehitu \"{}\" hiztegira"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:516 #: data/ui/App_menu.ui:36
#: uberwriter_lib/gtkspellcheck/spellcheck.py:518 msgid "Help to _translate"
msgid "Ignore All" msgstr ""
msgstr "Ez ikusi egin guztiei"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:533 #: data/ui/App_menu.ui:40
#: uberwriter_lib/gtkspellcheck/spellcheck.py:535 msgid "Donate to the project"
msgid "Languages" msgstr ""
msgstr "Hizkuntzak"
#: uberwriter_lib/gtkspellcheck/spellcheck.py:551 #: data/ui/WindowMenu.ui:24
#: uberwriter_lib/gtkspellcheck/spellcheck.py:554 msgid "Search and Replace"
msgid "Suggestions" msgstr ""
msgstr "Iradokizunak"
#~ msgid "UberWriter, a simple and distraction free Markdown Editor"
#~ msgstr "UberWriter, markaketa-editore sinple eta arreta-galtzerik gabea"
#~ msgid "_File"
#~ msgstr "_Fitxategia"
#~ msgid "Open Recent File"
#~ msgstr "Ireki oraintsuko fitxategia"
#~ msgid "Export as ODT"
#~ msgstr "Esportatu ODT bezala"
#~ msgid "Advanced Export..."
#~ msgstr "Esportatze aurreratua..."
#~ msgid "Copy raw HTML to clipboard"
#~ msgstr "Kopiatu HTML gordina arbelera"
#~ msgid "_Edit"
#~ msgstr "_Editatu"
#~ msgid "_View"
#~ msgstr "_Ikusi"
#~ msgid "Dark Mode"
#~ msgstr "Modu iluna"
#~ msgid "Auto _Spellcheck"
#~ msgstr "_Egiaztatu ortografia automatikoki"
#~ msgid "F_ormat"
#~ msgstr "F_ormatua"
#~ msgid "Unordered List Item"
#~ msgstr "Ordenatu gabeko zerrendako elementua"
#~ msgid "Horizontal Rule"
#~ msgstr "Marra horizontala"
#~ msgid "_Help"
#~ msgstr "_Laguntza"
#~ msgid "Contents"
#~ msgstr "Edukiak"
#~ msgid "Get Help Online..."
#~ msgstr "Lortu laguntza linean..."
#~ msgid "Translate This Application..."
#~ msgstr "Itzuli aplikazio hau..."
#~ msgid "Go into focus mode"
#~ msgstr "Joan fokuaren modura"
#~ msgid "Go into fullscreen mode"
#~ msgstr "Joan pantaila osoko modura"
#~ msgid "Copyright (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>"
#~ msgstr "Copyright-a (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>"
#~ msgid "You can not export to PDF."
#~ msgstr "Ezin duzu PDFra esportatu."
#~ msgid ""
#~ "Please install <a href=\"apt:texlive\">texlive</a> from the software "
#~ "center."
#~ msgstr ""
#~ "Mesedez instalatu <a href=\"apt:texlive\">texlive</a> software-zentrotik."
#: data/ui/About.ui:12
#, fuzzy #, fuzzy
#~ msgid "Open examples" msgid "Copyright (C) 2018, Wolf Vollprecht"
#~ msgstr "Ireki .md fitxategi bat" msgstr "Copyright-a (C) 2012, Wolf Vollprecht <w.vollprecht@gmail.com>"
#: data/ui/About.ui:14
#, fuzzy #, fuzzy
#~ msgid "_Save" msgid "Uberwriter website"
#~ msgstr "Gorde orain" msgstr "UberWriter"
#, fuzzy #: data/ui/About.ui:60
#~ msgid "Export as HTML" msgid "Donations:"
#~ msgstr "Esportatu ODT bezala" msgstr ""
#, fuzzy #: data/ui/About.ui:69
#~ msgid "Export as PDF" msgid "Liberapay"
#~ msgstr "Esportatu ODT bezala" msgstr ""
#: data/ui/About.ui:100
msgid "Help to translate:"
msgstr ""
#: data/ui/About.ui:109
#, fuzzy #, fuzzy
#~ msgid "Copy Raw HTML to Clipboard" msgid "Poeditor"
#~ msgstr "Kopiatu HTML gordina arbelera" msgstr "_Editatu"
#: data/ui/Export.ui:559 data/ui/Export.ui:569
msgid "PDF"
msgstr ""
#: data/ui/Export.ui:582
#, fuzzy
msgid "HTML"
msgstr "HTML 5"
#: data/ui/Export.ui:595
msgid "ODT"
msgstr ""
#: data/ui/Export.ui:607
#, fuzzy
msgid "Advanced"
msgstr "Esportatze aurreratua..."
#: data/ui/Menu.ui:28
#, fuzzy
msgid "_Export"
msgstr "Esportatu"
#: data/ui/Menu.ui:32
msgid "Copy HTML"
msgstr ""
#: data/ui/Menu.ui:38 data/ui/Preferences.ui:14
msgid "Preferences"
msgstr ""
#: data/ui/Menu.ui:44
msgid "Open Tutorial"
msgstr ""
#: data/ui/Preferences.ui:45
#, fuzzy
msgid "Use dark mode"
msgstr "Modu iluna"
#: data/ui/Preferences.ui:56
#, fuzzy
msgid "Autospellcheck"
msgstr "_Egiaztatu ortografia automatikoki"
#: data/ui/Preferences.ui:95
msgid "page 1"
msgstr ""
#: uberwriter/UberwriterExportDialog.py:48
msgid "Untitled document.md"
msgstr ""
#: uberwriter/UberwriterExportDialog.py:372
msgid "Please, install the TexLive extension from Gnome Software or running\n"
""
msgstr ""
#: uberwriter/UberwriterExportDialog.py:375
msgid "Please, install TexLive from your distribuiton repositories"
msgstr ""
#: uberwriter/UberwriterWindow.py:894 uberwriter/UberwriterWindow.py:943
msgid "New"
msgstr ""
#: uberwriter/UberwriterWindow.py:895 uberwriter/UberwriterWindow.py:944
msgid "Open"
msgstr ""
#: uberwriter/UberwriterWindow.py:899 uberwriter/UberwriterWindow.py:946
#: uberwriter/UberwriterWindow.py:949
#, fuzzy
msgid "Open Recent"
msgstr "Ireki oraintsuko fitxategia"
#: uberwriter/UberwriterWindow.py:901 uberwriter/UberwriterWindow.py:951
#, fuzzy
msgid "Save"
msgstr "Gorde orain"
#: uberwriter/UberwriterWindow.py:904 uberwriter/UberwriterWindow.py:954
#, fuzzy
msgid "Search and replace"
msgstr "Ireki oraintsuko fitxategia"
#: uberwriter/UberwriterWindow.py:906 uberwriter/UberwriterWindow.py:956
msgid "Menu"
msgstr ""
#: uberwriter/UberwriterWindow.py:961
#, fuzzy
msgid "Exit Fullscreen"
msgstr "Pantaila osoa"

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,102 @@
#!/usr/bin/python3
#
# Generates color palettes based on the specified background/foreground colors.
#
# Usage: python color_palette_generator.py #fg_hex #bg_hex light|dark
#
# The light variant is based on GitHub's style, while the dark variant is based on pre-existing UberWriter styles.
#
# Accessibility is not accounted for, so make sure to verify contrast: https://webaim.org/resources/contrastchecker/
import operator
import os
import sys
def hex_to_tuple(h):
return tuple(int(h.lstrip('#')[i:i + 2], 16) for i in (0, 2, 4))
def tuple_to_hex(t):
(r, g, b) = t
if r < 0 or g < 0 or b < 0 or r > 255 or g > 255 or b > 255:
return '#%02x%02x%02x (clamped)' % tuple(map(lambda x: max(0, min(x, 255)), t))
else:
return '#%02x%02x%02x' % t
def sub_tuples(t1, t2):
return tuple(map(operator.sub, t1, t2))
if __name__ == '__main__':
if len(sys.argv) != 4:
print("Usage: {} foreground_color background_color light|dark\n" +
"Both colors must be in hexadecimal format, eg. #f6f5f4".format(os.path.basename(__file__)))
exit()
target_foreground_color = hex_to_tuple(sys.argv[1])
target_background_color = hex_to_tuple(sys.argv[2])
dark = sys.argv[3] == "dark"
gh_text_color = hex_to_tuple("#dbdbdb" if dark else "#24292e")
gh_background_color = hex_to_tuple("#353535" if dark else "#ffffff")
gh_alt_background_color = hex_to_tuple("#3a3a3a" if dark else "#f6f8fa")
gh_link_color = hex_to_tuple("#a2c7f8" if dark else "#0366d6")
gh_blockquote_text_color = hex_to_tuple("#959595" if dark else "#6a737d")
gh_blockquote_border_color = hex_to_tuple("#525252" if dark else "#dfe2e5")
gh_header_border_color = hex_to_tuple("#474747" if dark else "#eaecef")
gh_hr_background_color = hex_to_tuple("#505050" if dark else "#e1e4e8")
gh_table_tr_border_color = hex_to_tuple("#696969" if dark else "#c6cbd1")
gh_table_td_border_color = hex_to_tuple("#525252" if dark else "#dfe2e5")
gh_kbd_text_color = hex_to_tuple("#bbbbbb" if dark else "#444d56")
gh_kbd_background_color = hex_to_tuple("#3c3c3c" if dark else "#fafbfc")
gh_kbd_border_color = hex_to_tuple("#696969" if dark else "#c6cbd1")
gh_kbd_shadow_color = hex_to_tuple("#979797" if dark else "#959da5")
text_color_diff = sub_tuples(gh_text_color, target_foreground_color)
background_color_diff = sub_tuples(gh_background_color, target_background_color)
text_color = tuple_to_hex(target_foreground_color)
background_color = tuple_to_hex(target_background_color)
alt_background_color = tuple_to_hex(sub_tuples(gh_alt_background_color, background_color_diff))
link_color = tuple_to_hex(sub_tuples(gh_link_color, text_color_diff))
blockquote_text_color = tuple_to_hex(sub_tuples(gh_blockquote_text_color, text_color_diff))
blockquote_border_color = tuple_to_hex(sub_tuples(gh_blockquote_border_color, background_color_diff))
header_border_color = tuple_to_hex(sub_tuples(gh_header_border_color, background_color_diff))
hr_background_color = tuple_to_hex(sub_tuples(gh_hr_background_color, background_color_diff))
table_tr_border_color = tuple_to_hex(sub_tuples(gh_table_tr_border_color, background_color_diff))
table_td_border_color = tuple_to_hex(sub_tuples(gh_table_td_border_color, background_color_diff))
kbd_text_color = tuple_to_hex(sub_tuples(gh_kbd_text_color, text_color_diff))
kbd_background_color = tuple_to_hex(sub_tuples(gh_kbd_background_color, background_color_diff))
kbd_border_color = tuple_to_hex(sub_tuples(gh_kbd_border_color, background_color_diff))
kbd_shadow_color = tuple_to_hex(sub_tuples(gh_kbd_shadow_color, background_color_diff))
print(("--text-color: {};\n" +
"--background-color: {};\n" +
"--alt-background-color: {};\n" +
"--link-color: {};\n" +
"--blockquote-text-color: {};\n" +
"--blockquote-border-color: {};\n" +
"--header-border-color: {};\n" +
"--hr-background-color: {};\n" +
"--table-tr-border-color: {};\n" +
"--table-td-border-color: {};\n" +
"--kbd-text-color: {};\n" +
"--kbd-background-color: {};\n" +
"--kbd-border-color: {};\n" +
"--kbd-shadow-color: {};\n").format(
text_color,
background_color,
alt_background_color,
link_color,
blockquote_text_color,
blockquote_border_color,
header_border_color,
hr_background_color,
table_tr_border_color,
table_td_border_color,
kbd_text_color,
kbd_background_color,
kbd_border_color,
kbd_shadow_color))

View File

@ -60,10 +60,10 @@ setup(
# "": '/opt/uberwriter/' # "": '/opt/uberwriter/'
}, },
packages=[ packages=[
"uberwriter_lib.gtkspellcheck", "uberwriter.gtkspellcheck",
"uberwriter_lib.pylocales", "uberwriter.pylocales",
# "uberwriter_lib.pressagio", # "uberwriter.pressagio",
"uberwriter_lib", "uberwriter",
"uberwriter", "uberwriter",
"po" "po"
# "uberwriter.plugins" # "uberwriter.plugins"
@ -72,7 +72,7 @@ setup(
include_package_data=True, include_package_data=True,
package_data={ package_data={
'uberwriter_lib.pylocales' : ['locales.db'], 'uberwriter.pylocales' : ['locales.db'],
}, },
data_files=[ data_files=[
(app_prefix + 'bin', ['bin/uberwriter']), (app_prefix + 'bin', ['bin/uberwriter']),

View File

@ -60,7 +60,7 @@ confidence=
# --enable=similarities". If you want to run only the classes checker, but have # --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes # no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W". # --disable=W".
# disable=print-statement, disable=print-statement,
parameter-unpacking, parameter-unpacking,
unpacking-in-except, unpacking-in-except,
old-raise-syntax, old-raise-syntax,

View File

@ -25,15 +25,18 @@ import gi
gi.require_version('Gtk', '3.0') gi.require_version('Gtk', '3.0')
from gi.repository import Gtk # pylint: disable=E0611 from gi.repository import Gtk # pylint: disable=E0611
from . import UberwriterWindow from uberwriter import window
from uberwriter_lib import AppWindow from uberwriter import application
from uberwriter.helpers import set_up_logging
from uberwriter.uberwriterconfig import get_version
def main(): def main():
'constructor for your class instances' 'constructor for your class instances'
# (options, args) = parse_options() # (options, args) = parse_options()
# Run the application. # Run the application.
app = AppWindow.Application() app = application.Application()
# ~ if args: # ~ if args:
# ~ for arg in args: # ~ for arg in args:

View File

@ -15,15 +15,18 @@ import webbrowser
from gettext import gettext as _ from gettext import gettext as _
import gi import gi
gi.require_version('Gtk', '3.0') # pylint: disable=wrong-import-position gi.require_version('Gtk', '3.0') # pylint: disable=wrong-import-position
from gi.repository import GLib, Gio, Gtk, Gdk, GdkPixbuf from gi.repository import GLib, Gio, Gtk, Gdk, GdkPixbuf
from uberwriter import UberwriterWindow from uberwriter import window
from uberwriter.Settings import Settings from uberwriter.theme import Theme
from uberwriter_lib import set_up_logging from uberwriter.settings import Settings
from uberwriter_lib import helpers from uberwriter.helpers import set_up_logging
from uberwriter_lib.PreferencesDialog import PreferencesDialog from uberwriter.preferences_dialog import PreferencesDialog
from . helpers import get_builder, get_media_path from uberwriter.helpers import get_builder, get_media_path
class Application(Gtk.Application): class Application(Gtk.Application):
@ -34,32 +37,6 @@ class Application(Gtk.Application):
self.window = None self.window = None
self.settings = Settings.new() self.settings = Settings.new()
def init(self):
"""Init main application"""
# set theme variant (dark/light)
dark = self.settings.get_value("dark-mode")
Gtk.Settings.get_default().set_property("gtk-application-prefer-dark-theme", dark)
# set css for current theme
self.style_provider = Gtk.CssProvider()
themes = {
"Arc": "arc_style.css",
"Arc-Dark": "arc_style.css",
"Arc-Darker": "arc_style.css",
}
theme = Gtk.Settings.get_default().get_property("gtk-theme-name")
self.style_provider.load_from_path(helpers.get_media_path(themes.get(theme,"adwaita_style.css")))
Gtk.StyleContext.add_provider_for_screen(
Gdk.Screen.get_default(), self.style_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
def do_startup(self, *args, **kwargs): def do_startup(self, *args, **kwargs):
Gtk.Application.do_startup(self) Gtk.Application.do_startup(self)
@ -95,6 +72,12 @@ class Application(Gtk.Application):
action.connect("change-state", self.on_focus_mode) action.connect("change-state", self.on_focus_mode)
self.add_action(action) self.add_action(action)
action = Gio.SimpleAction.new_stateful("hemingway_mode",
None,
GLib.Variant.new_boolean(False))
action.connect("change-state", self.on_hemingway_mode)
self.add_action(action)
action = Gio.SimpleAction.new_stateful("fullscreen", action = Gio.SimpleAction.new_stateful("fullscreen",
None, None,
GLib.Variant.new_boolean(False)) GLib.Variant.new_boolean(False))
@ -111,9 +94,10 @@ class Application(Gtk.Application):
action.connect("activate", self.on_search) action.connect("activate", self.on_search)
self.add_action(action) self.add_action(action)
set_spellcheck = self.settings.get_value("spellcheck")
action = Gio.SimpleAction.new_stateful("spellcheck", action = Gio.SimpleAction.new_stateful("spellcheck",
None, None,
GLib.Variant.new_boolean(True)) GLib.Variant.new_boolean(set_spellcheck))
action.connect("change-state", self.on_spellcheck) action.connect("change-state", self.on_spellcheck)
self.add_action(action) self.add_action(action)
@ -164,7 +148,10 @@ class Application(Gtk.Application):
# Shortcuts # Shortcuts
# TODO: be aware that a couple of shortcuts are defined in _gtk_base.css
self.set_accels_for_action("app.focus_mode", ["<Ctl>d"]) self.set_accels_for_action("app.focus_mode", ["<Ctl>d"])
self.set_accels_for_action("app.hemingway_mode", ["<Ctl>t"])
self.set_accels_for_action("app.fullscreen", ["F11"]) self.set_accels_for_action("app.fullscreen", ["F11"])
self.set_accels_for_action("app.preview", ["<Ctl>p"]) self.set_accels_for_action("app.preview", ["<Ctl>p"])
self.set_accels_for_action("app.search", ["<Ctl>f"]) self.set_accels_for_action("app.search", ["<Ctl>f"])
@ -174,8 +161,9 @@ class Application(Gtk.Application):
self.set_accels_for_action("app.open", ["<Ctl>o"]) self.set_accels_for_action("app.open", ["<Ctl>o"])
self.set_accels_for_action("app.save", ["<Ctl>s"]) self.set_accels_for_action("app.save", ["<Ctl>s"])
self.set_accels_for_action("app.save_as", ["<Ctl><shift>s"]) self.set_accels_for_action("app.save_as", ["<Ctl><shift>s"])
self.set_accels_for_action("app.quit", ["<Ctl>w", "<Ctl>q"])
self.init() self.apply_current_theme()
def do_activate(self, *args, **kwargs): def do_activate(self, *args, **kwargs):
# We only allow a single window and raise any existing ones # We only allow a single window and raise any existing ones
@ -183,7 +171,7 @@ class Application(Gtk.Application):
# Windows are associated with the application # Windows are associated with the application
# when the last one is closed the application shuts down # when the last one is closed the application shuts down
# self.window = Window(application=self, title="UberWriter") # self.window = Window(application=self, title="UberWriter")
self.window = UberwriterWindow.UberwriterWindow(self) self.window = window.Window(self)
if self.args: if self.args:
self.window.load_file(self.args[0]) self.window.load_file(self.args[0])
if self.options.experimental_features: if self.options.experimental_features:
@ -196,7 +184,7 @@ class Application(Gtk.Application):
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument( parser.add_argument(
"-v", "--verbose", action="count", dest="verbose", "-v", "--verbose", action="count", dest="verbose",
help=_("Show debug messages (-vv debugs uberwriter_lib also)")) help=_("Show debug messages (-vv debugs uberwriter also)"))
parser.add_argument( parser.add_argument(
"-e", "--experimental-features", help=_("Use experimental features"), "-e", "--experimental-features", help=_("Use experimental features"),
action='store_true' action='store_true'
@ -208,6 +196,23 @@ class Application(Gtk.Application):
self.activate() self.activate()
return 0 return 0
def apply_current_theme(self):
# get current theme
theme = Theme.get_current()
# set theme variant (dark/light)
Gtk.Settings.get_default().set_property(
"gtk-application-prefer-dark-theme",
GLib.Variant("b", theme.is_dark))
# set theme css
style_provider = Gtk.CssProvider()
style_provider.load_from_path(theme.gtk_css_path)
Gtk.StyleContext.add_provider_for_screen(
Gdk.Screen.get_default(), style_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
def on_about(self, _action, _param): def on_about(self, _action, _param):
builder = get_builder('About') builder = get_builder('About')
about_dialog = builder.get_object("AboutDialog") about_dialog = builder.get_object("AboutDialog")
@ -233,22 +238,25 @@ class Application(Gtk.Application):
def on_dark_mode(self, action, value): def on_dark_mode(self, action, value):
action.set_state(value) action.set_state(value)
self.settings.set_value("dark-mode", self.settings.set_value("dark-mode", GLib.Variant("b", value))
GLib.Variant("b", value))
self.window.toggle_dark_mode(value)
# this changes the headerbar theme accordingly # this changes the headerbar theme accordingly
self.dark_setting = Gtk.Settings.get_default() self.apply_current_theme()
self.dark_setting.set_property(
"gtk-application-prefer-dark-theme", value) # adjust window for theme
self.window.apply_current_theme()
def on_focus_mode(self, action, value): def on_focus_mode(self, action, value):
action.set_state(value) action.set_state(value)
self.window.set_focusmode(value) self.window.set_focus_mode(value)
def on_hemingway_mode(self, action, value):
action.set_state(value)
self.window.set_hemingway_mode(value)
def on_fullscreen(self, action, value): def on_fullscreen(self, action, value):
action.set_state(value) action.set_state(value)
self.window.toggle_fullscreen(value) self.window.set_fullscreen(value)
def on_preview(self, action, value): def on_preview(self, action, value):
action.set_state(value) action.set_state(value)
@ -259,6 +267,8 @@ class Application(Gtk.Application):
def on_spellcheck(self, action, value): def on_spellcheck(self, action, value):
action.set_state(value) action.set_state(value)
self.settings.set_value("spellcheck",
GLib.Variant("b", value))
self.window.toggle_spellcheck(value) self.window.toggle_spellcheck(value)
def on_draw_gradient(self, action, value): def on_draw_gradient(self, action, value):
@ -296,10 +306,10 @@ class Application(Gtk.Application):
self.window.copy_html_to_clipboard() self.window.copy_html_to_clipboard()
def on_preferences(self, _action, _value): def on_preferences(self, _action, _value):
PreferencesWindow = PreferencesDialog() preferences_window = PreferencesDialog()
PreferencesWindow.set_application(self) preferences_window.set_application(self)
PreferencesWindow.set_transient_for(self.window) preferences_window.set_transient_for(self.window)
PreferencesWindow.show() preferences_window.show()
def on_quit(self, _action, _param): def on_quit(self, _action, _param):
self.quit() self.quit()

View File

@ -13,16 +13,16 @@ from gi.repository import Gtk, Gdk
import enchant import enchant
from uberwriter_lib import pressagio from uberwriter import pressagio
# import uberwriter_lib.pressagio.predictor # import uberwriter.pressagio.predictor
# import uberwriter_lib.pressagio.tokenizer # import uberwriter.pressagio.tokenizer
# import uberwriter_lib.pressagio.dbconnector # import uberwriter.pressagio.dbconnector
# import uberwriter_lib.pressagio.context_tracker # import uberwriter.pressagio.context_tracker
# import uberwriter_lib.pressagio.callback # import uberwriter.pressagio.callback
# from Levenshtein import distance # from Levenshtein import distance
from uberwriter_lib.helpers import get_media_path from uberwriter.helpers import get_media_path
# Define and create PresageCallback object # Define and create PresageCallback object
class PressagioCallback(pressagio.callback.Callback): class PressagioCallback(pressagio.callback.Callback):
@ -36,7 +36,7 @@ class PressagioCallback(pressagio.callback.Callback):
def future_stream(self): def future_stream(self):
return '' return ''
class UberwriterAutoCorrect: class AutoCorrect:
def show_bubble(self, iterator, suggestion): def show_bubble(self, iterator, suggestion):
self.suggestion = suggestion self.suggestion = suggestion

View File

@ -28,7 +28,7 @@ import gi
gi.require_version('Gtk', '3.0') # pylint: disable=wrong-import-position gi.require_version('Gtk', '3.0') # pylint: disable=wrong-import-position
from gi.repository import GObject, Gtk # pylint: disable=E0611 from gi.repository import GObject, Gtk # pylint: disable=E0611
LOGGER = logging.getLogger('uberwriter_lib') LOGGER = logging.getLogger('uberwriter')
# this module is big so uses some conventional prefixes and postfixes # this module is big so uses some conventional prefixes and postfixes
# *s list, except self.widgets is a dictionary # *s list, except self.widgets is a dictionary

View File

@ -23,10 +23,15 @@ import logging
# import gettext # import gettext
from gettext import gettext as _ from gettext import gettext as _
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk from gi.repository import Gtk
from uberwriter_lib import helpers from uberwriter import helpers
from uberwriter_lib.helpers import get_builder from uberwriter.theme import Theme
from uberwriter.helpers import get_builder
LOGGER = logging.getLogger('uberwriter') LOGGER = logging.getLogger('uberwriter')
@ -35,7 +40,7 @@ class Export:
Manages all the export operations and dialogs Manages all the export operations and dialogs
""" """
__gtype_name__ = "UberwriterExportDialog" __gtype_name__ = "export_dialog"
def __init__(self, filename): def __init__(self, filename):
"""Set up the about dialog""" """Set up the about dialog"""
@ -213,7 +218,7 @@ class Export:
args.append("-o%s.odt" % basename) args.append("-o%s.odt" % basename)
elif export_format == "html": elif export_format == "html":
css = helpers.get_media_file('github-md.css') css = Theme.ADWAITA.get_gtk_css_file()
relativize = helpers.get_script_path('relative_to_absolute.lua') relativize = helpers.get_script_path('relative_to_absolute.lua')
task_list = helpers.get_script_path('task-list.lua') task_list = helpers.get_script_path('task-list.lua')
args.append("-c%s" % css) args.append("-c%s" % css)

View File

@ -1,4 +1,6 @@
import re import re
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk from gi.repository import Gtk
import logging import logging

View File

@ -17,7 +17,7 @@
from gettext import gettext as _ from gettext import gettext as _
from . MarkupBuffer import MarkupBuffer from uberwriter.markup_buffer import MarkupBuffer
class FormatShortcuts(): class FormatShortcuts():

View File

@ -29,8 +29,8 @@ import logging
import re import re
import sys import sys
from uberwriter_lib.pylocales import code_to_name as _code_to_name from uberwriter.pylocales import code_to_name as _code_to_name
from uberwriter_lib.pylocales import LanguageNotFound, CountryNotFound from uberwriter.pylocales import LanguageNotFound, CountryNotFound
# public objects # public objects
__all__ = ['SpellChecker', 'NoDictionariesFound', 'NoGtkBindingFound'] __all__ = ['SpellChecker', 'NoDictionariesFound', 'NoGtkBindingFound']
@ -56,6 +56,8 @@ else:
if _py3k: if _py3k:
# there is only the gi binding for Python 3 # there is only the gi binding for Python 3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk as gtk from gi.repository import Gtk as gtk
_pygobject = True _pygobject = True
else: else:

View File

@ -18,11 +18,14 @@
from collections import namedtuple from collections import namedtuple
from gettext import gettext as _ from gettext import gettext as _
from gi.repository import Gtk
from uberwriter_lib.helpers import get_builder
from uberwriter_lib.helpers import get_descendant
from uberwriter_lib.AppWindow import Application as app import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from uberwriter.helpers import get_builder
from uberwriter.helpers import get_descendant
from uberwriter.application import Application as app
class MainHeaderbar: #pylint: disable=too-few-public-methods class MainHeaderbar: #pylint: disable=too-few-public-methods
"""Sets up the main application headerbar """Sets up the main application headerbar

View File

@ -21,10 +21,13 @@ import logging
import os import os
import shutil import shutil
from gi.repository import Gtk
from . uberwriterconfig import get_data_file import gi
from . Builder import Builder gi.require_version('Gtk', '3.0')
from gi.repository import Gtk # pylint: disable=E0611
from uberwriter.uberwriterconfig import get_data_file
from uberwriter.builder import Builder
def get_builder(builder_file_name): def get_builder(builder_file_name):
@ -46,16 +49,12 @@ def get_builder(builder_file_name):
# Owais Lone : To get quick access to icons and stuff. # Owais Lone : To get quick access to icons and stuff.
def get_media_file(media_file_name): def get_media_file(media_file_path):
"""Return the full path of a given filename under the media dir """Return the full path of a given filename under the media dir
(starts with file:///) (starts with file:///)
""" """
media_filename = get_data_file('media', '%s' % (media_file_name,)) return "file:///" + get_media_path(media_file_path)
if not os.path.exists(media_filename):
media_filename = None
return "file:///" + media_filename
def get_media_path(media_file_name): def get_media_path(media_file_name):
@ -63,19 +62,26 @@ def get_media_path(media_file_name):
(doesn't start with file:///) (doesn't start with file:///)
""" """
media_filename = get_data_file('media', '%s' % (media_file_name,)) media_path = get_data_file('media', '%s' % (media_file_name,))
if not os.path.exists(media_filename): if not os.path.exists(media_path):
media_filename = None media_path = None
return media_filename return media_path
def get_css_path(css_file_name):
"""Return the full path of a given filename under the css dir
(doesn't start with file:///)
"""
return get_media_path("css/{}".format(css_file_name))
def get_script_path(script_file_name): def get_script_path(script_file_name):
"""Return the full path of a given filename under the script dir """Return the full path of a given filename under the script dir
""" """
script_filename = get_data_file('lua', '%s' % (script_file_name,)) script_path = get_data_file('lua', '%s' % (script_file_name,))
if not os.path.exists(script_filename): if not os.path.exists(script_path):
script_filename = None script_path = None
return script_filename return script_path
class NullHandler(logging.Handler): class NullHandler(logging.Handler):
@ -97,7 +103,7 @@ def set_up_logging(opts):
logger_sh.setFormatter(formatter) logger_sh.setFormatter(formatter)
logger.addHandler(logger_sh) logger.addHandler(logger_sh)
lib_logger = logging.getLogger('uberwriter_lib') lib_logger = logging.getLogger('uberwriter')
lib_logger_sh = logging.StreamHandler() lib_logger_sh = logging.StreamHandler()
lib_logger_sh.setFormatter(formatter) lib_logger_sh.setFormatter(formatter)
lib_logger.addHandler(lib_logger_sh) lib_logger.addHandler(lib_logger_sh)
@ -127,7 +133,6 @@ def get_help_uri(page=None):
def show_uri(parent, link): def show_uri(parent, link):
from gi.repository import Gtk # pylint: disable=E0611
screen = parent.get_screen() screen = parent.get_screen()
Gtk.show_uri(screen, link, Gtk.get_current_event_time()) Gtk.show_uri(screen, link, Gtk.get_current_event_time())

View File

@ -26,13 +26,15 @@ import telnetlib
from gettext import gettext as _ from gettext import gettext as _
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk, GdkPixbuf, GObject from gi.repository import Gtk, Gdk, GdkPixbuf, GObject
from uberwriter_lib import LatexToPNG from uberwriter import latex_to_PNG
from .Settings import Settings from uberwriter.settings import Settings
from .FixTable import FixTable from uberwriter.fix_table import FixTable
from .MarkupBuffer import MarkupBuffer from uberwriter.markup_buffer import MarkupBuffer
LOGGER = logging.getLogger('uberwriter') LOGGER = logging.getLogger('uberwriter')
@ -262,12 +264,12 @@ def fill_lexikon_bubble(vocab, lexikon_dict):
return None return None
class UberwriterInlinePreview(): class InlinePreview():
def __init__(self, view, text_buffer): def __init__(self, view, text_buffer):
self.text_view = view self.text_view = view
self.text_buffer = text_buffer self.text_buffer = text_buffer
self.latex_converter = LatexToPNG.LatexToPNG() self.latex_converter = latex_to_PNG.LatexToPNG()
cursor_mark = self.text_buffer.get_insert() cursor_mark = self.text_buffer.get_insert()
cursor_iter = self.text_buffer.get_iter_at_mark(cursor_mark) cursor_iter = self.text_buffer.get_iter_at_mark(cursor_mark)
self.click_mark = self.text_buffer.create_mark('click', cursor_iter) self.click_mark = self.text_buffer.create_mark('click', cursor_iter)

View File

@ -15,6 +15,9 @@
### END LICENSE ### END LICENSE
import re import re
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk from gi.repository import Gtk
from gi.repository import Pango from gi.repository import Pango
@ -44,14 +47,10 @@ class MarkupBuffer():
self.normal_indent = self.text_buffer.create_tag('normal_indent', indent=100) self.normal_indent = self.text_buffer.create_tag('normal_indent', indent=100)
self.green_text = self.text_buffer.create_tag("greentext", self.math_text = self.text_buffer.create_tag('math_text')
foreground="#00364C")
self.grayfont = self.text_buffer.create_tag('graytag', self.unfocused_text = self.text_buffer.create_tag('graytag',
foreground="gray") foreground="gray")
self.blackfont = self.text_buffer.create_tag('blacktag',
foreground="#222")
self.underline = self.text_buffer.create_tag("underline", self.underline = self.text_buffer.create_tag("underline",
underline=Pango.Underline.SINGLE) underline=Pango.Underline.SINGLE)
@ -99,7 +98,8 @@ class MarkupBuffer():
self.table_env.set_property('pixels-above-lines', 0) self.table_env.set_property('pixels-above-lines', 0)
self.table_env.set_property('pixels-below-lines', 0) self.table_env.set_property('pixels-below-lines', 0)
# self.ftag = self.TextBuffer.create_tag("pix_front", pixels_above_lines = 100) self.update_style()
regex = { regex = {
"ITALIC": re.compile(r"(\*|_)(.*?)\1", re.UNICODE), # *asdasd* // _asdasd asd asd_ "ITALIC": re.compile(r"(\*|_)(.*?)\1", re.UNICODE), # *asdasd* // _asdasd asd asd_
"STRONG": re.compile(r"(\*\*|__)(.*?)\1", re.UNICODE), # **as das** // __asdasd asd ad a__ "STRONG": re.compile(r"(\*\*|__)(.*?)\1", re.UNICODE), # **as das** // __asdasd asd ad a__
@ -118,6 +118,13 @@ class MarkupBuffer():
"LINK": re.compile(r"\(http(.+?)\)") "LINK": re.compile(r"\(http(.+?)\)")
} }
def update_style(self):
(found, color) = self.parent.get_style_context().lookup_color('math_text_color')
if not found:
(_, color) = self.parent.get_style_context().lookup_color('foreground_color')
self.math_text.set_property("foreground", color.to_string())
def markup_buffer(self, mode=0): def markup_buffer(self, mode=0):
buf = self.text_buffer buf = self.text_buffer
@ -176,13 +183,13 @@ class MarkupBuffer():
end_iter = buf.get_iter_at_offset(context_offset + match.end()) end_iter = buf.get_iter_at_offset(context_offset + match.end())
self.text_buffer.apply_tag(self.strikethrough, start_iter, end_iter) self.text_buffer.apply_tag(self.strikethrough, start_iter, end_iter)
self.text_buffer.remove_tag(self.green_text, context_start, context_end) self.text_buffer.remove_tag(self.math_text, context_start, context_end)
matches = re.finditer(self.regex["MATH"], text) matches = re.finditer(self.regex["MATH"], text)
for match in matches: for match in matches:
start_iter = buf.get_iter_at_offset(context_offset + match.start()) start_iter = buf.get_iter_at_offset(context_offset + match.start())
end_iter = buf.get_iter_at_offset(context_offset + match.end()) end_iter = buf.get_iter_at_offset(context_offset + match.end())
self.text_buffer.apply_tag(self.green_text, start_iter, end_iter) self.text_buffer.apply_tag(self.math_text, start_iter, end_iter)
for margin in self.rev_leftmargin: for margin in self.rev_leftmargin:
self.text_buffer.remove_tag(margin, context_start, context_end) self.text_buffer.remove_tag(margin, context_start, context_end)
@ -264,15 +271,13 @@ class MarkupBuffer():
self.focusmode_highlight() self.focusmode_highlight()
def focusmode_highlight(self): def focusmode_highlight(self):
self.text_buffer.apply_tag( start_document = self.text_buffer.get_start_iter()
self.grayfont, end_document = self.text_buffer.get_end_iter()
self.text_buffer.get_start_iter(),
self.text_buffer.get_end_iter())
self.text_buffer.remove_tag( self.text_buffer.remove_tag(
self.blackfont, self.unfocused_text,
self.text_buffer.get_start_iter(), start_document,
self.text_buffer.get_end_iter()) end_document)
cursor = self.text_buffer.get_mark("insert") cursor = self.text_buffer.get_mark("insert")
cursor_iter = self.text_buffer.get_iter_at_mark(cursor) cursor_iter = self.text_buffer.get_iter_at_mark(cursor)
@ -291,9 +296,14 @@ class MarkupBuffer():
start_sentence = cursor_iter.copy() start_sentence = cursor_iter.copy()
start_sentence.backward_sentence_start() start_sentence.backward_sentence_start()
# grey out everything before
self.text_buffer.apply_tag( self.text_buffer.apply_tag(
self.blackfont, self.unfocused_text,
start_sentence, end_sentence) self.text_buffer.get_start_iter(), start_sentence)
self.text_buffer.apply_tag(
self.unfocused_text,
end_sentence, self.text_buffer.get_end_iter())
def set_multiplier(self, multiplier): def set_multiplier(self, multiplier):
self.multiplier = multiplier self.multiplier = multiplier
@ -309,13 +319,3 @@ class MarkupBuffer():
new_margin = (lm - multiplier) + multiplier + multiplier * (i + 1) new_margin = (lm - multiplier) + multiplier + multiplier * (i + 1)
self.leftmargin[i].set_property("left-margin", 0 if new_margin < 0 else new_margin) self.leftmargin[i].set_property("left-margin", 0 if new_margin < 0 else new_margin)
self.leftmargin[i].set_property("indent", - (multiplier - 1) * (i + 1) - multiplier) self.leftmargin[i].set_property("indent", - (multiplier - 1) * (i + 1) - multiplier)
def dark_mode(self, active=False):
if active:
self.green_text.set_property("foreground", "#FA5B0F")
self.grayfont.set_property("foreground", "#666")
self.blackfont.set_property("foreground", "#CCC")
else:
self.green_text.set_property("foreground", "#00364C")
self.grayfont.set_property("foreground", "gray")
self.blackfont.set_property("foreground", "#222")

View File

@ -18,12 +18,13 @@
"""this dialog adjusts values in gsettings """this dialog adjusts values in gsettings
""" """
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk # pylint: disable=E0611 from gi.repository import Gtk # pylint: disable=E0611
import logging import logging
logger = logging.getLogger('uberwriter_lib') logger = logging.getLogger('uberwriter')
from . helpers import get_builder, show_uri, get_help_uri from uberwriter.helpers import get_builder, show_uri, get_help_uri
class PreferencesDialog(Gtk.Window): class PreferencesDialog(Gtk.Window):
__gtype_name__ = "PreferencesDialog" __gtype_name__ = "PreferencesDialog"

Some files were not shown because too many files have changed in this diff Show More