Changeset View
Changeset View
Standalone View
Standalone View
shell/shellutils.cpp
Show First 20 Lines • Show All 53 Lines • ▼ Show 20 Line(s) | 53 | if ( url.fragment().contains( QLatin1Char( '.' ) ) ) { | |||
---|---|---|---|---|---|
54 | url.setPath( url.path() + QLatin1Char ( '#' ) + url.fragment() ); | 54 | url.setPath( url.path() + QLatin1Char ( '#' ) + url.fragment() ); | ||
55 | url.setFragment( QString() ); | 55 | url.setFragment( QString() ); | ||
56 | } | 56 | } | ||
57 | } | 57 | } | ||
58 | if ( !pageArg.isEmpty() ) | 58 | if ( !pageArg.isEmpty() ) | ||
59 | { | 59 | { | ||
60 | url.setFragment( pageArg ); | 60 | url.setFragment( pageArg ); | ||
61 | } | 61 | } | ||
62 | return url; | 62 | return url; | ||
yurchor: Trailing spaces. | |||||
63 | } | 63 | } | ||
64 | 64 | | |||
65 | QString serializeOptions(const QCommandLineParser &args) | 65 | QString serializeOptions(const QCommandLineParser &args) | ||
66 | { | 66 | { | ||
67 | const bool startInPresentation = args.isSet( QStringLiteral("presentation") ); | 67 | const bool startInPresentation = args.isSet( QStringLiteral("presentation") ); | ||
68 | const bool showPrintDialog = args.isSet( QStringLiteral("print") ); | 68 | const bool showPrintDialog = args.isSet( QStringLiteral("print") ); | ||
69 | const bool showPrintDialogAndExit = args.isSet( QStringLiteral("print-and-exit") ); | 69 | const bool showPrintDialogAndExit = args.isSet( QStringLiteral("print-and-exit") ); | ||
70 | const bool unique = args.isSet(QStringLiteral("unique")) && args.positionalArguments().count() <= 1; | 70 | const bool unique = args.isSet(QStringLiteral("unique")) && args.positionalArguments().count() <= 1; | ||
71 | const bool noRaise = args.isSet(QStringLiteral("noraise")); | 71 | const bool noRaise = args.isSet(QStringLiteral("noraise")); | ||
72 | const QString page = args.value(QStringLiteral("page")); | 72 | const QString page = args.value(QStringLiteral("page")); | ||
73 | const QString find = args.value(QStringLiteral("find")); | ||||
73 | 74 | | |||
74 | return serializeOptions(startInPresentation, showPrintDialog, showPrintDialogAndExit, unique, noRaise, page); | 75 | return serializeOptions(startInPresentation, showPrintDialog, showPrintDialogAndExit, unique, noRaise, page, find); | ||
75 | } | 76 | } | ||
76 | 77 | | |||
77 | QString serializeOptions(bool startInPresentation, bool showPrintDialog, bool showPrintDialogAndExit, bool unique, bool noRaise, const QString &page) | 78 | QString serializeOptions(bool startInPresentation, bool showPrintDialog, bool showPrintDialogAndExit, bool unique, bool noRaise, const QString &page, const QString &find) | ||
78 | { | 79 | { | ||
79 | return QStringLiteral("%1:%2:%3:%4:%5:%6").arg(startInPresentation).arg(showPrintDialog).arg(showPrintDialogAndExit).arg(unique).arg(noRaise).arg(page); | 80 | return QStringLiteral("%1:%2:%3:%4:%5:%6:%7").arg(startInPresentation).arg(showPrintDialog).arg(showPrintDialogAndExit).arg(unique).arg(noRaise).arg(page).arg(QString(find.toLatin1().toBase64())); | ||
Can this be written as return QStringLiteral("%1:%2:%3:%4:%5:%6:%7").arg(startInPresentation, showPrintDialog, showPrintDialogAndExit, unique, noRaise, page, find); ? yurchor: Can this be written as
```
return QStringLiteral("%1:%2:%3:%4:%5:%6:%7").arg… | |||||
There is a problem here when find contains a : that is, if you do okular https://bugs.freedesktop.org/attachment.cgi?id=140739 -find "ate: " So you need to encode it here and deserialize it properly on unserializeOptions aacid: There is a problem here when find contains a :
that is, if you do
okular https://bugs. | |||||
80 | } | 81 | } | ||
81 | 82 | | |||
82 | bool unserializeOptions(const QString &serializedOptions, bool *presentation, bool *print, bool *print_and_exit, bool *unique, bool *noraise, QString *page) | 83 | bool unserializeOptions(const QString &serializedOptions, bool *presentation, bool *print, bool *print_and_exit, bool *unique, bool *noraise, QString *page, QString *find) | ||
83 | { | 84 | { | ||
84 | const QStringList args = serializedOptions.split(QStringLiteral(":")); | 85 | const QStringList args = serializedOptions.split(QStringLiteral(":")); | ||
85 | if (args.count() == 6) | 86 | | ||
87 | if (args.count() == 7) | ||||
86 | { | 88 | { | ||
87 | *presentation = args[0] == QLatin1String("1"); | 89 | *presentation = args[0] == QLatin1String("1"); | ||
88 | *print = args[1] == QLatin1String("1"); | 90 | *print = args[1] == QLatin1String("1"); | ||
89 | *print_and_exit = args[2] == QLatin1String("1"); | 91 | *print_and_exit = args[2] == QLatin1String("1"); | ||
90 | *unique = args[3] == QLatin1String("1"); | 92 | *unique = args[3] == QLatin1String("1"); | ||
91 | *noraise = args[4] == QLatin1String("1"); | 93 | *noraise = args[4] == QLatin1String("1"); | ||
92 | *page = args[5]; | 94 | *page = args[5]; | ||
95 | *find = args[6]; | ||||
93 | return true; | 96 | return true; | ||
94 | } | 97 | } | ||
95 | return false; | 98 | return false; | ||
96 | } | 99 | } | ||
97 | 100 | | |||
98 | bool startInPresentation(const QString &serializedOptions) | 101 | bool startInPresentation(const QString &serializedOptions) | ||
99 | { | 102 | { | ||
100 | bool result, dummy; | 103 | bool result, dummy; | ||
101 | QString dummyString; | 104 | QString dummyString; | ||
102 | return unserializeOptions(serializedOptions, &result, &dummy, &dummy, &dummy, &dummy, &dummyString) && result; | 105 | return unserializeOptions(serializedOptions, &result, &dummy, &dummy, &dummy, &dummy, &dummyString, &dummyString) && result; | ||
103 | } | 106 | } | ||
104 | 107 | | |||
105 | bool showPrintDialog(const QString &serializedOptions) | 108 | bool showPrintDialog(const QString &serializedOptions) | ||
106 | { | 109 | { | ||
107 | bool result, dummy; | 110 | bool result, dummy; | ||
108 | QString dummyString; | 111 | QString dummyString; | ||
109 | return unserializeOptions(serializedOptions, &dummy, &result, &dummy, &dummy, &dummy, &dummyString) && result; | 112 | return unserializeOptions(serializedOptions, &dummy, &result, &dummy, &dummy, &dummy, &dummyString, &dummyString) && result; | ||
110 | } | 113 | } | ||
111 | 114 | | |||
112 | bool showPrintDialogAndExit(const QString &serializedOptions) | 115 | bool showPrintDialogAndExit(const QString &serializedOptions) | ||
113 | { | 116 | { | ||
114 | bool result, dummy; | 117 | bool result, dummy; | ||
115 | QString dummyString; | 118 | QString dummyString; | ||
116 | return unserializeOptions(serializedOptions, &dummy, &dummy, &result, &dummy, &dummy, &dummyString) && result; | 119 | return unserializeOptions(serializedOptions, &dummy, &dummy, &result, &dummy, &dummy, &dummyString, &dummyString) && result; | ||
117 | } | 120 | } | ||
118 | 121 | | |||
119 | bool unique(const QString &serializedOptions) | 122 | bool unique(const QString &serializedOptions) | ||
120 | { | 123 | { | ||
121 | bool result, dummy; | 124 | bool result, dummy; | ||
122 | QString dummyString; | 125 | QString dummyString; | ||
123 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &result, &dummy, &dummyString) && result; | 126 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &result, &dummy, &dummyString, &dummyString) && result; | ||
124 | } | 127 | } | ||
125 | 128 | | |||
126 | bool noRaise(const QString &serializedOptions) | 129 | bool noRaise(const QString &serializedOptions) | ||
127 | { | 130 | { | ||
128 | bool result, dummy; | 131 | bool result, dummy; | ||
129 | QString dummyString; | 132 | QString dummyString; | ||
130 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &result, &dummyString) && result; | 133 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &result, &dummyString, &dummyString) && result; | ||
131 | } | 134 | } | ||
132 | 135 | | |||
133 | QString page(const QString &serializedOptions) | 136 | QString page(const QString &serializedOptions) | ||
134 | { | 137 | { | ||
135 | QString result; | 138 | QString result, dummyString; | ||
136 | bool dummy; | 139 | bool dummy; | ||
137 | unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &result); | 140 | unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &result, &dummyString); | ||
138 | return result; | 141 | return result; | ||
139 | } | 142 | } | ||
140 | 143 | | |||
144 | QString find(const QString &serializedOptions) | ||||
145 | { | ||||
146 | QString result, dummyString; | ||||
147 | bool dummy; | ||||
148 | unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &dummyString, &result); | ||||
149 | return QString(QByteArray::fromBase64(result.toLatin1())); | ||||
150 | } | ||||
151 | | ||||
141 | } | 152 | } |
Trailing spaces.