View | Details | Raw Unified | Return to bug 17179
Collapse All | Expand All

(-)a/installer/data/mysql/atomicupdate/bug_17179_add_keyboard_shortcuts.perl (+19 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do(q|
4
        INSERT IGNORE INTO keyboard_shortcuts (shortcut_name, shortcut_keys, shortcut_desc) VALUES
5
        ("copy_line","Ctrl-C","Copy current field"),
6
        ("copy_subfield","Shift-Ctrl-C","Copy current subfield"),
7
        ("paste_line","Ctrl-P","Paste selectiion from 'clipboard'"),
8
        ("insert_line","Ctrl-I","Copy current field on next line")
9
        ;
10
    |);
11
    $dbh->do(q|
12
        UPDATE keyboard_shortcuts SET shortcut_desc = "Delete current field and copy to 'clipboard'" WHERE shortcut_name = "delete_field";
13
    |);
14
    $dbh->do(q|
15
        UPDATE keyboard_shortcuts SET shortcut_desc = "Cut current subfield and copy to 'clipboard'" WHERE shortcut_name = "delete_subfield";
16
    |);
17
    SetVersion( $DBversion );
18
    print "Upgrade to $DBversion done (Bug 17179 - Add additional keyboard_shortcuts)\n";
19
}
(-)a/installer/data/mysql/en/mandatory/keyboard_shortcuts.sql (-2 / +6 lines)
Lines 25-34 INSERT INTO keyboard_shortcuts (shortcut_name, shortcut_keys, shortcut_desc) VAL Link Here
25
    ("insert_copyright","Alt-C","Insert copyright symbol (©)"),
25
    ("insert_copyright","Alt-C","Insert copyright symbol (©)"),
26
    ("insert_copyright_sound","Alt-P","Insert copyright symbol (℗) (sound recordings)"),
26
    ("insert_copyright_sound","Alt-P","Insert copyright symbol (℗) (sound recordings)"),
27
    ("insert_delimiter","Ctrl-D","Insert delimiter (‡)"),
27
    ("insert_delimiter","Ctrl-D","Insert delimiter (‡)"),
28
    ("copy_line","Ctrl-C","Copy current field"),
29
    ("copy_subfield","Ctrl-Shift-C","Copy current subfield"),
30
    ("paste_line","Ctrl-P","Paste selectiion from 'clipboard'"),
31
    ("insert_line","Ctrl-I","Copy current field on next line"),
28
    ("subfield_help","Ctrl-H","Get help on current subfield"),
32
    ("subfield_help","Ctrl-H","Get help on current subfield"),
29
    ("link_authorities","Shift-Ctrl-L","Link field to authorities"),
33
    ("link_authorities","Shift-Ctrl-L","Link field to authorities"),
30
    ("delete_field","Ctrl-X","Delete current field"),
34
    ("delete_field","Ctrl-X","Delete current field and copy to 'clipboard'"),
31
    ("delete_subfield","Shift-Ctrl-X","Delete current subfield"),
35
    ("delete_subfield","Shift-Ctrl-X","Delete current subfield and copy to 'clipboard'"),
32
    ("new_line","Enter","New field on next line"),
36
    ("new_line","Enter","New field on next line"),
33
    ("line_break","Shift-Enter","Insert line break"),
37
    ("line_break","Shift-Enter","Insert line break"),
34
    ("next_position","Tab","Move to next position"),
38
    ("next_position","Tab","Move to next position"),
(-)a/koha-tmpl/intranet-tmpl/lib/koha/cateditor/marc-editor.js (-2 / +46 lines)
Lines 160-165 define( [ 'marc-record', 'koha-backend', 'preferences', 'text-marc', 'widget' ], Link Here
160
    _editorKeys[delete_field] =  function( cm ) {
160
    _editorKeys[delete_field] =  function( cm ) {
161
            // Delete line (or cut)
161
            // Delete line (or cut)
162
            if ( cm.somethingSelected() ) return true;
162
            if ( cm.somethingSelected() ) return true;
163
            var curLine = cm.getLine( cm.getCursor().line );
164
165
            $("#clipboard").prepend('<option>'+curLine+'</option>');
163
166
164
            cm.execCommand('deleteLine');
167
            cm.execCommand('deleteLine');
165
        }
168
        }
Lines 193-200 define( [ 'marc-record', 'koha-backend', 'preferences', 'text-marc', 'widget' ], Link Here
193
            var field = cm.marceditor.getCurrentField();
196
            var field = cm.marceditor.getCurrentField();
194
            if ( !field ) return;
197
            if ( !field ) return;
195
198
196
            var subfield = field.getSubfieldAt( cm.getCursor().ch );
199
            var curCursor = cm.getCursor();
197
            if ( subfield ) subfield.delete();
200
            var subfield = field.getSubfieldAt( curCursor().ch );
201
            var subfieldText= cm.getRange({line:curCursor.line,ch:subfield.start},{line:curCursor.line,ch:subfield.end});
202
            if ( subfield ) {
203
                $("#clipboard").prepend('<option>'+subfieldText+'</option>');
204
                subfield.delete();
205
            }
206
        }
207
208
    _editorKeys[copy_line] = function( cm ) {
209
            // Copy line
210
            if ( cm.somethingSelected() ) return true;
211
            var curLine = cm.getLine( cm.getCursor().line );
212
            $("#clipboard").prepend('<option>'+curLine+'</option>');
213
        }
214
215
    _editorKeys[copy_subfield] = function( cm ) {
216
            // Copy subfield
217
            var field = cm.marceditor.getCurrentField();
218
            if ( !field ) return;
219
220
            var curCursor = cm.getCursor();
221
            var subfield = field.getSubfieldAt( curCursor().ch );
222
            var subfieldText= cm.getRange({line:curCursor.line,ch:subfield.start},{line:curCursor.line,ch:subfield.end});
223
            if ( subfield ) {
224
                $("#clipboard").prepend('<option>'+subfieldText+'</option>');
225
            }
226
        }
227
228
    _editorKeys[paste_line] = function( cm ) {
229
            // Paste line from "clipboard"
230
            if ( cm.somethingSelected() ) return true;
231
            var cBoard = document.getElementById("clipboard");
232
            var strUser = cBoard.options[cBoard.selectedIndex].text;
233
            cm.replaceRange( strUser, cm.getCursor(), null );
234
        }
235
236
    _editorKeys[insert_line] = function( cm ) {
237
            // Copy line and insert below
238
            if ( cm.somethingSelected() ) return true;
239
            var curLine = cm.getLine( cm.getCursor().line );
240
            cm.execCommand('newlineAndIndent');
241
            cm.replaceRange( curLine, cm.getCursor(), null );
198
        }
242
        }
199
243
200
     _editorKeys[next_position] =  function( cm ) {
244
     _editorKeys[next_position] =  function( cm ) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/editor.tt (-1 / +6 lines)
Lines 108-113 Link Here
108
    </fieldset>
108
    </fieldset>
109
</form>
109
</form>
110
110
111
<h3>Clipboard</h3>
112
<fieldset class="brief">
113
    <select id="clipboard" name="clipboard" size=10>
114
    </select>
115
</fieldset>
116
111
</div>
117
</div>
112
118
113
</div>
119
</div>
114
- 

Return to bug 17179