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(find); | ||
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 QString rightOptions = serializedOptions.right(serializedOptions.size() - serializedOptions.indexOf(QStringLiteral(";")) - 1); | ||
86 | const QString leftOptions = serializedOptions.left(serializedOptions.indexOf(QStringLiteral(";"))); | ||||
87 | const QStringList args = leftOptions.split(QStringLiteral(":")); | ||||
88 | | ||||
85 | if (args.count() == 6) | 89 | if (args.count() == 6) | ||
86 | { | 90 | { | ||
87 | *presentation = args[0] == QLatin1String("1"); | 91 | *presentation = args[0] == QLatin1String("1"); | ||
88 | *print = args[1] == QLatin1String("1"); | 92 | *print = args[1] == QLatin1String("1"); | ||
89 | *print_and_exit = args[2] == QLatin1String("1"); | 93 | *print_and_exit = args[2] == QLatin1String("1"); | ||
90 | *unique = args[3] == QLatin1String("1"); | 94 | *unique = args[3] == QLatin1String("1"); | ||
91 | *noraise = args[4] == QLatin1String("1"); | 95 | *noraise = args[4] == QLatin1String("1"); | ||
92 | *page = args[5]; | 96 | *page = args[5]; | ||
97 | *find = rightOptions; | ||||
93 | return true; | 98 | return true; | ||
94 | } | 99 | } | ||
95 | return false; | 100 | return false; | ||
96 | } | 101 | } | ||
97 | 102 | | |||
98 | bool startInPresentation(const QString &serializedOptions) | 103 | bool startInPresentation(const QString &serializedOptions) | ||
99 | { | 104 | { | ||
100 | bool result, dummy; | 105 | bool result, dummy; | ||
101 | QString dummyString; | 106 | QString dummyString; | ||
102 | return unserializeOptions(serializedOptions, &result, &dummy, &dummy, &dummy, &dummy, &dummyString) && result; | 107 | return unserializeOptions(serializedOptions, &result, &dummy, &dummy, &dummy, &dummy, &dummyString, &dummyString) && result; | ||
103 | } | 108 | } | ||
104 | 109 | | |||
105 | bool showPrintDialog(const QString &serializedOptions) | 110 | bool showPrintDialog(const QString &serializedOptions) | ||
106 | { | 111 | { | ||
107 | bool result, dummy; | 112 | bool result, dummy; | ||
108 | QString dummyString; | 113 | QString dummyString; | ||
109 | return unserializeOptions(serializedOptions, &dummy, &result, &dummy, &dummy, &dummy, &dummyString) && result; | 114 | return unserializeOptions(serializedOptions, &dummy, &result, &dummy, &dummy, &dummy, &dummyString, &dummyString) && result; | ||
110 | } | 115 | } | ||
111 | 116 | | |||
112 | bool showPrintDialogAndExit(const QString &serializedOptions) | 117 | bool showPrintDialogAndExit(const QString &serializedOptions) | ||
113 | { | 118 | { | ||
114 | bool result, dummy; | 119 | bool result, dummy; | ||
115 | QString dummyString; | 120 | QString dummyString; | ||
116 | return unserializeOptions(serializedOptions, &dummy, &dummy, &result, &dummy, &dummy, &dummyString) && result; | 121 | return unserializeOptions(serializedOptions, &dummy, &dummy, &result, &dummy, &dummy, &dummyString, &dummyString) && result; | ||
117 | } | 122 | } | ||
118 | 123 | | |||
119 | bool unique(const QString &serializedOptions) | 124 | bool unique(const QString &serializedOptions) | ||
120 | { | 125 | { | ||
121 | bool result, dummy; | 126 | bool result, dummy; | ||
122 | QString dummyString; | 127 | QString dummyString; | ||
123 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &result, &dummy, &dummyString) && result; | 128 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &result, &dummy, &dummyString, &dummyString) && result; | ||
124 | } | 129 | } | ||
125 | 130 | | |||
126 | bool noRaise(const QString &serializedOptions) | 131 | bool noRaise(const QString &serializedOptions) | ||
127 | { | 132 | { | ||
128 | bool result, dummy; | 133 | bool result, dummy; | ||
129 | QString dummyString; | 134 | QString dummyString; | ||
130 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &result, &dummyString) && result; | 135 | return unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &result, &dummyString, &dummyString) && result; | ||
131 | } | 136 | } | ||
132 | 137 | | |||
133 | QString page(const QString &serializedOptions) | 138 | QString page(const QString &serializedOptions) | ||
134 | { | 139 | { | ||
135 | QString result; | 140 | QString result, dummyString; | ||
141 | bool dummy; | ||||
142 | unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &result, &dummyString); | ||||
143 | return result; | ||||
144 | } | ||||
145 | | ||||
146 | QString find(const QString &serializedOptions) | ||||
147 | { | ||||
148 | QString result, dummyString; | ||||
136 | bool dummy; | 149 | bool dummy; | ||
137 | unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &result); | 150 | unserializeOptions(serializedOptions, &dummy, &dummy, &dummy, &dummy, &dummy, &dummyString, &result); | ||
138 | return result; | 151 | return result; | ||
139 | } | 152 | } | ||
140 | 153 | | |||
141 | } | 154 | } |
Trailing spaces.