Ticket #3496: 3496.patch

File 3496.patch, 27.9 KB (added by Artur Formella, 10 years ago)
  • _source/core/config.js

     
    150150         * config.plugins = 'basicstyles,button,htmldataprocessor,toolbar,wysiwygarea';
    151151         */
    152152
    153         plugins : 'about,basicstyles,blockquote,button,clipboard,colorbutton,contextmenu,elementspath,enterkey,entities,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,maximize,newpage,pagebreak,pastefromword,pastetext,preview,print,removeformat,save,smiley,showblocks,sourcearea,stylescombo,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc',
     153        plugins : 'about,basicstyles,blockquote,button,clipboard,colorbutton,contextmenu,elementspath,enterkey,entities,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,maximize,newpage,pagebreak,pastefromword,pastetext,preview,print,removeformat,save,scayt,smiley,showblocks,sourcearea,stylescombo,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc',
    154154
    155155        /**
    156156         * List of additional plugins to be loaded. This is a tool setting which
  • _source/plugins/scayt/dialogs/cke_scayt.css

    Property changes on: _source\plugins\scayt
    ___________________________________________________________________
    Added: bugtraq:label
       + Ticket
    Added: bugtraq:url
       + http://dev.fckeditor.net/ticket/%BUGID%
    Added: webviewer:pathrevision
       + http://dev.fckeditor.net/browser/%PATH%?rev=%REVISION% 
    Added: webviewer:revision
       + http://dev.fckeditor.net/changeset/%REVISION%
    Added: bugtraq:logregex
       + (?:ticket: *|#)(\d+) *(?:, *(\d+))*
    
    
    
    Property changes on: _source\plugins\scayt\dialogs
    ___________________________________________________________________
    Added: bugtraq:label
       + Ticket
    Added: bugtraq:url
       + http://dev.fckeditor.net/ticket/%BUGID%
    Added: webviewer:pathrevision
       + http://dev.fckeditor.net/browser/%PATH%?rev=%REVISION% 
    Added: webviewer:revision
       + http://dev.fckeditor.net/changeset/%REVISION%
    Added: bugtraq:logregex
       + (?:ticket: *|#)(\d+) *(?:, *(\d+))*
    
    
     
     1.cke_skin_v2 .cke_button_scayt span.cke_icon
     2{
     3        background: transparent url(../images/scayt.gif) no-repeat scroll 0 0;
     4}
     5.scayt_disabled .cke_skin_v2 .cke_button_scayt span.cke_icon
     6{
     7        opacity: 0.5;
     8}
     9.scayt_enabled .cke_skin_v2 .cke_button_scayt span.cke_icon
     10{
     11        opacity: 1;
     12}
     13.cke_skin_default .cke_button_scayt span.cke_icon
     14{
     15        background: transparent url(../images/scayt.gif ) no-repeat scroll 0 0;
     16}
     17.scayt_disabled .cke_skin_default .cke_button_scayt span.cke_icon
     18{
     19        opacity: 0.5;
     20}
     21.scayt_enabled .cke_skin_default .cke_button_scayt span.cke_icon
     22{
     23        opacity: 1;
     24}
     25 No newline at end of file
  • _source/plugins/scayt/dialogs/options.html

     
     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
     2<html>
     3    <head>
     4        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     5        <title>Tplugin Languages</title>
     6        <style>
     7            html, body
     8                        {
     9                                background-color: transparent;
     10                                margin: 0px;
     11                                padding: 0px;
     12                        }
     13
     14                        body, td, input, select, textarea
     15                        {
     16                                font-size: 11px;
     17                                font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
     18                        }
     19                       
     20                        .midtext
     21                        {
     22                                padding:0px;
     23                                margin:10px;
     24                        }
     25                       
     26                        .midtext p
     27                        {
     28                                padding:0px;
     29                                margin:10px;
     30                        }
     31                       
     32                        .Button
     33                        {
     34                                border: #737357 1px solid;
     35                                color: #3b3b1f;
     36                                background-color: #c7c78f;
     37                        }
     38                       
     39                        .PopupTabArea , .button
     40                        {
     41                                color: #737357;
     42                                background-color: #e3e3c7;
     43                        }
     44                       
     45                        .PopupTitleBorder
     46                        {
     47                                border-bottom: #d5d59d 1px solid;
     48                        }
     49                        .PopupTabEmptyArea
     50                        {
     51                                padding-left: 10px;
     52                                border-bottom: #d5d59d 1px solid;
     53                        }
     54                       
     55                        .PopupTab, .PopupTabSelected
     56                        {
     57                                border-right: #d5d59d 1px solid;
     58                                border-top: #d5d59d 1px solid;
     59                                border-left: #d5d59d 1px solid;
     60                                padding: 3px 5px 3px 5px;
     61                                color: #737357;
     62                        }
     63                       
     64                        .PopupTab
     65                        {
     66                                margin-top: 1px;
     67                                border-bottom: #d5d59d 1px solid;
     68                                cursor: pointer;
     69                                cursor: hand;
     70                        }
     71                       
     72                        .PopupTabSelected
     73                        {
     74                                font-weight: bold;
     75                                cursor: default;
     76                                padding-top: 4px;
     77                                border-bottom: #f1f1e3 1px solid;
     78                                background-color: #f1f1e3;
     79                        }
     80
     81            ul {
     82                padding:0;
     83                margin:0px 0px 12px 0px;
     84                list-style-type:none;
     85            }
     86            ul.tabs {
     87                height:20px;
     88            }
     89            ul.tabs li
     90                        {
     91                float: left;
     92            }
     93            div.tab_container
     94                        {
     95                display:none;
     96                padding: 0px 5px ;
     97            }
     98            .lcol
     99                        {
     100                float:left;
     101                width:47%;
     102                margin-left:5px;
     103            }
     104            .rcol
     105                        {
     106                float:right;
     107                width:47%;
     108                margin-right:5px;
     109            }
     110                        div.tabs-container
     111                        {
     112                                overflow-x:hidden;
     113                                overflow-y:auto;
     114                        }
     115                       
     116            div.tabs-container h3
     117                        {
     118                margin:5px 15px 7px 15px;
     119                background-color:transparent;
     120                font-size: 14px ;
     121            }
     122           
     123            .li {
     124                border: 1px solid transparent;
     125            }
     126                       
     127                        .messagebox
     128                        {
     129                                height: 24px;
     130                        }
     131                        .messagebox .error
     132                        {
     133                                color: red ;
     134                        }
     135                        .messagebox .success
     136                        {
     137                                color: blue ;
     138                        }
     139                       
     140                        .dic_buttons
     141                        {
     142                                margin-top: 5px;
     143                        }
     144                        .dic_buttons a
     145                        {
     146                                display: none;
     147                        }
     148                        a.button
     149                        {
     150                                border: #d5d59d 1px solid;
     151                                padding: 2px 4px;
     152                                margin-right: 4px;
     153                                text-decoration: none;
     154                        }
     155                       
     156                        a.button:hover,
     157                        a.button:active,
     158                        a.button:visited{
     159                                padding: 2px 4px;
     160                                margin-right: 4px;
     161                                text-decoration: none;
     162                        }
     163                        a.button:hover {
     164                                border: #d5d59d 1px solid;
     165                                color: #e3e3c7;
     166                                background-color: #737357;
     167                        }
     168                        #scayt_options li {
     169                                display: none;
     170                        }
     171        </style>
     172                <script src="http://demo.spellchecker.net/spellcheck3/lf/dojo/dojo/dojo.xd.js" ></script>
     173                <script>
     174            //dojo = oEditor.dojo;
     175            //dojo.require('dojo.NodeList-fx');
     176            // global vars defined in plugin
     177            var oEditor = window.parent;
     178            //window.parent.CKEDITOR.dialog.getCurrent()
     179            // dialog events (Ok Cancel)
     180            var dialog = oEditor.CKEDITOR.dialog.getCurrent();
     181                       
     182            function gup( name )
     183            {
     184                name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;
     185                var regexS = '[\\?&]' + name + '=([^&#]*)' ;
     186                var regex = new RegExp( regexS ) ;
     187                var results = regex.exec( window.location.href ) ;
     188               
     189                if( results == null )
     190                    return '' ;
     191                else
     192                    return results[ 1 ] ;
     193            }
     194
     195            // LANGUAGE OBJ
     196            var lang_list = {};
     197            sLang = null;
     198            chosed_lang = null;
     199            //onload runner
     200            dojo.addOnLoad(function()
     201                                {
     202                                        scayt = dialog.data.scayt;
     203                                        scayt_control = dialog.data.scayt_control;
     204                                       
     205                                        if ( !scayt ) throw "SCAYT is udefined";
     206                                        if ( !scayt_control ) throw "SCAYT_CONTROL is undefined";
     207
     208                                        stop = 0;
     209                                        scayt.getCaption('en', function( captions )
     210                                                {
     211                                                        if ( stop >0 )
     212                                                                return;
     213                                                        stop ++;
     214                                                        if ( init_with_captions )
     215                                                                init_with_captions( captions );
     216                                                })
     217
     218                                        dialog.on( 'ok', function()
     219                                                {
     220                                                        var c = 0;
     221                                                        var scayt_control =  this.scayt_control;
     222                                                        var chosed_lang = this.chosed_lang;
     223                                                        var options = this.options;
     224                                                        var sLang = this.sLang;
     225
     226                                                        // set upp options if any was set
     227                                                        var o = scayt_control.option();
     228
     229                                                        for (var oN in options )
     230                                                        {
     231                                                                if (o[oN] != options[oN] && c == 0)
     232                                                                {
     233                                                                        scayt_control.option( options );
     234                                                                        c++;
     235                                                                }
     236                                                        }
     237                                                        //setup languge if it was change
     238                                                        var csLang = chosed_lang.split("::")[1];
     239                                                        if ( csLang && sLang != csLang )
     240                                                        {
     241                                                                scayt_control.setLang( csLang );
     242                                                                c++;
     243                                                        }
     244                                                        if (c > 0)
     245                                                                scayt_control.refresh();
     246                                                },
     247                                                {
     248                                                        chosed_lang : chosed_lang,
     249                                                        scayt_control : dialog.data.scayt_control,
     250                                                        options : options,
     251                                                        sLang : sLang
     252                                                }
     253                                                );                                     
     254                                       
     255                                });
     256
     257                        function init_with_captions ( caps )
     258                        {
     259                                captions = caps;
     260                                options = scayt_control.option();
     261                               
     262                                var lang_list = scayt.getLangList() ;
     263                               
     264                                sLang = scayt_control.getLang();
     265                                var fckLang = "en";
     266                                var active_tab = gup('act') || "options";
     267                                var class_selected_tab = "PopupTabSelected";
     268                                var class_usual_tab = "PopupTab";
     269                                // * read captions
     270                                // * filter languages captions
     271                                //@TODO: read langs captions by prefix
     272                                // ** fill tabs
     273                                // the rule is: "prefix_" + "calssName"
     274                               
     275                               
     276                                dojo.query("ul.tabs li").forEach(function(el,i){
     277                                        var pre = "tab_";
     278                                        var classn = el.className.split(" ")[0];
     279                                        var text = captions[pre + classn] ;
     280                                        el.innerHTML = text;
     281                                });
     282                                 // ** fill options and dictionary labels
     283                                 // the rule is : // the rule is: "prefix_" + "for"
     284                                dojo.query("label").forEach(function(el,i){
     285                                        var pre = "label_";
     286                                        var forN = el.id;
     287                                        var text = captions[pre + forN] ;
     288                                        if ( text ){
     289                                                el.innerHTML = text;
     290                                                el.parentNode.style.display = "block"
     291                                        }
     292                                        //console.info( " | set labels : key %s, value %s", pre + forN , captions[pre + forN]  )
     293                                       
     294                                });
     295                                // ** fill dictionary tab
     296                                dojo.query(".dic_buttons a").forEach(function(el,i){
     297                                        var pre = "button_";
     298                                        var forN = el.id;
     299                                        var text = captions[pre + forN] ;
     300                                        el.innerHTML = text;
     301                                });
     302                                dojo.byId("dic_info").innerHTML = captions["dic_info"] ;
     303                                dojo.byId("about_throwt_info").innerHTML =
     304                                '<p>'+ captions["about_throwt_image"] +'</p>'+
     305                                '<p>'+ captions["version"]+scayt.version.toString() +'</p>'+
     306                                '<p>'+ captions["about_throwt_copy"] +'</p>';
     307                               
     308                                // * DHTML tabs
     309                                // ** select active tab
     310                                dojo.query("."+active_tab).addClass( class_selected_tab ).removeClass( class_usual_tab );
     311                                dojo.query(".inner_"+active_tab).style({display:"block"});
     312                                // ** maek all tabs clickable
     313                                dojo.query("ul.tabs li").onclick(function(ev){
     314                                        if (this.className.indexOf(class_selected_tab) != -1) return false;
     315                                        var subClass = this.className.split(" ")[0];
     316                                        var contSubClass = '.inner_' + subClass;
     317                                       
     318                                        dojo.query("div.tab_container").style({display:"none"});
     319                                        dojo.query(".tabs-container " + contSubClass).style({display:"block"});
     320                                        dojo.query("ul.tabs li").removeClass( class_selected_tab ).addClass( class_usual_tab );
     321                                        dojo.addClass(this,class_selected_tab);
     322                                });     
     323                               
     324                                // ** animate options
     325                                dojo.query("#scayt_options input").forEach(function(el,i){
     326                                       
     327                                        if ('undefined' != typeof(options[el.name])) {
     328                                                // *** set default values
     329                                                dojo.removeAttr( el, "checked" );
     330                                               
     331                                                if ( 1 == options[ dojo.attr(el ,'name') ] ){
     332                                                   dojo.attr( el, "checked" , "checked" );
     333                                                }
     334                                                // *** bind events
     335                                                dojo.connect(el, "onchange",function(ev){
     336                                                        if ( !dojo.attr(this , "checked") ){
     337                                                                dojo.removeAttr( this, "checked");
     338                                                                options[ dojo.attr( this , "name") ] = 0;
     339                                                        }else{
     340                                                                dojo.attr( this, "checked" , "checked" );
     341                                                                options[ dojo.attr( this , "name") ] = 1;
     342                                                        }
     343                                                });
     344                                        }
     345                                });
     346                               
     347                                // * Create languages tab
     348                                // ** convert langs obj to array
     349                                var lang_arr = [];
     350                                var first_lang = lang_list.ltr.en_US || "English";
     351                                chosed_lang = first_lang + "::en_US";
     352                                lang_list.ltr["en_US"] = null;
     353                               
     354                                for (var k in lang_list.rtl){
     355                                        // find curent lang
     356                                        if ( k == sLang)
     357                                                chosed_lang = lang_list.rtl[k] + "::" + k;
     358                                        lang_arr[lang_arr.length] = lang_list.rtl[k] + "::" + k;
     359                                               
     360                                }
     361                                for (var k in lang_list.ltr){
     362                                        if ( lang_list.ltr[k] !== null ) {
     363                                                // find curent lang
     364                                                 if ( k == sLang)
     365                                                        chosed_lang = lang_list.ltr[k] + "::" + k;
     366                                                lang_arr[lang_arr.length] = lang_list.ltr[k] + "::" + k;
     367                                        }
     368                                }
     369                               
     370                                lang_arr.sort();
     371                                lang_arr = [first_lang + "::en_US"].concat(lang_arr);
     372                               
     373                                // ** find lang containers
     374                                var langs_contain = dojo.query( ".inner_langs" ).at(0);
     375                                var lcol = langs_contain.query(".lcol").at(0);
     376                                var rcol = langs_contain.query(".rcol").at(0);
     377                                // ** place langs in DOM
     378                                dojo.forEach(lang_arr , function(l,i,arr){
     379                                       
     380                                        var l_arr = l.split('::');
     381                                        var l_code = l_arr[1];
     382                                        var l_name = captions["lang_"+l_code] || l_arr[0];
     383                                        var row = document.createElement('div');
     384                                        row.id = l_code;
     385                                        row.className = "li";
     386                                        // *** split langs on half
     387                                        var col = ( i < arr.length/2 ) ? lcol:rcol ;
     388                                       
     389                                        // *** append row
     390                                        col[0].appendChild(row);
     391                                        var row_dom = dojo.query( "#"+l_code )
     392                                        row_dom[0].innerHTML = l_name;
     393                                       
     394                                       
     395                                        var checkActiveLang = function(id){
     396                                                return chosed_lang.split("::")[1] == id;
     397                                        }
     398                                        // ** bind click
     399                                        row_dom.onclick(function(ev){
     400                                               
     401                                                if ( checkActiveLang(ev.target.id) ) return false;
     402                                               
     403                                                dojo.query("#" + ev.target.id)
     404                                                        .addClass("Button")
     405                                                        .removeClass("DarkBackground");
     406                                                       
     407                                                window.setTimeout( function (){ dojo.style(ev.target.id, {opacity:"0.5",cursor:"no-drop"});  } ,300 )
     408                                               
     409                                                dojo.query("#" + chosed_lang.split("::")[1])
     410                                                        .addClass("DarkBackground")
     411                                                        .removeClass("Button")
     412                                                        .style({opacity:"1",cursor:"pointer"});
     413                                                       
     414                                                chosed_lang = ev.target.innerHTML + "::" + ev.target.id;
     415                                                return true;
     416                                        })
     417                                        // ** animatet lang selection   
     418                                        .onmouseover(function(ev){
     419                                               
     420                                                if ( checkActiveLang(ev.target.id) ) return false;
     421                                                dojo.addClass(ev.target,"Button");
     422                                                dojo.style(ev.target,{opacity: "0.3"});
     423                                               
     424                                        }).onmouseout(function(ev){
     425                                               
     426                                                if ( checkActiveLang(ev.target.id) ) return false;
     427                                                dojo.removeClass(ev.target,"Button");
     428                                                dojo.style(ev.target,{opacity: "1"});
     429                                               
     430                                        }).style({
     431                                                cursor:"pointer"
     432                                        });
     433                                        // ** select current lang
     434                                        if ( l == chosed_lang )
     435                                                row_dom.addClass("Button").style({opacity:"0.5",cursor:"no-drop"});
     436                                        else
     437                                                row_dom.addClass("DarkBackground").style({opacity:"1"});
     438                                               
     439                                   
     440                                });
     441                           
     442                                 // * user dictionary   
     443                                 
     444                                // ** customize buttons
     445                                /*
     446                                var dic_buttons = [
     447                                        // [0] contains buttons for creating
     448                                        "dic_create,dic_restore",
     449                                        // [1] contains buton for manipulation
     450                                        "dic_rename,dic_delete,dic_restore"
     451                                ];
     452                                scayt.getNameUserDictionary(
     453                                        function( o ){
     454                                                var dic_name = o.dname;
     455                                                if ( dic_name ){
     456                                                        dojo.byId('dic_name').value = dic_name;
     457                                                        display_dic_buttons ( dic_buttons[1] );
     458                                                }else {
     459                                                        display_dic_buttons ( dic_buttons[0] );
     460                                                }
     461                                               
     462                                        },
     463                                        function () {
     464                                               
     465                                        });
     466                                var dic_flag = 0;
     467                                 
     468                                 // ** bind event listeners
     469                                dojo.query("div.dic_buttons a.button").onclick(function( ev ){
     470                                       
     471                                        if (typeof window[this.id] == 'function'  ){
     472                                                // get dic name
     473                                                var dic_name = dojo.trim ( dojo.byId('dic_name').value );
     474                                                // check common dictionary rules
     475                                                if (!dic_name) {
     476                                                        dic_error_message(" Dictionary name should not be empty. ");
     477                                                        return false;
     478                                                }
     479                                                //apply handler
     480                                                window[this.id].apply( window, [this,ev , dic_name, dic_buttons ] );
     481                                        }
     482                                               
     483                                        //console.info( typeof window[this.id], window[this.id].calle )
     484                                        return false;
     485                                });
     486                           */
     487                        }
     488                       
     489                        // user dictionary handlers
     490                                   
     491                        function dic_create ( el, ev, dic_name , dic_buttons ){
     492                                // comma separated button's ids include repeats if exists
     493                                var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
     494                       
     495                                var err_massage = captions["err_dic_create"];
     496                                var suc_massage = captions["succ_dic_create"];
     497                               
     498                                scayt.createUserDictionary(dic_name,
     499                                        function(arg){
     500                                                //console.info( "dic_create callback called with args" , arg );
     501                                                hide_dic_buttons ( all_buttons );
     502                                                display_dic_buttons ( dic_buttons[1] );
     503                                                suc_massage = suc_massage.replace("%s" , dic_name );
     504                                                dic_success_message (suc_massage);
     505                                        },function(arg){
     506                                                //console.info( "dic_create errorback called with args" , arg )
     507                                                err_massage = err_massage.replace("%s" ,dic_name );
     508                                                dic_error_message ( err_massage + "( "+ (arg.message || "") +")");
     509                                        });
     510                               
     511                        }
     512                       
     513                        function dic_rename ( el, ev, dic_name , dic_buttons )
     514                        {
     515                                //
     516                                // try to rename dictionary
     517                                // @TODO: rename dict
     518                                //console.info ( captions["err_dic_rename"] )
     519                                var err_massage = captions["err_dic_rename"] || "";
     520                                var suc_massage = captions["succ_dic_rename"] || "";
     521                                suc_massage = suc_massage.replace("%s" , dic_name );
     522                                err_massage = err_massage.replace("%s" , dic_name  );
     523                               
     524                               
     525                                scayt.renameUserDictionary(dic_name,
     526                                        function(arg){
     527                                                //console.info( "dic_rename callback called with args" , arg );
     528                                                set_dic_name( dic_name );
     529                                                dic_success_message ( suc_massage );
     530                                        },function(arg){
     531                                                //console.info( "dic_rename errorback called with args" , arg )
     532                                                set_dic_name( dic_name );
     533                                                dic_error_message (err_massage + "( "+ (arg.message || "") +" )")
     534                                        });
     535                               
     536                               
     537                        }
     538                       
     539                        function dic_delete ( el, ev, dic_name , dic_buttons )
     540                        {
     541                                var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
     542                                var err_massage = captions["err_dic_delete"];
     543                                var suc_massage = captions["succ_dic_delete"];
     544                                suc_massage = suc_massage.replace("%s" , dic_name );
     545                                err_massage = err_massage.replace("%s" , dic_name );
     546                               
     547                               
     548                                // try to delete dictionary
     549                                // @TODO: delete dict
     550                                scayt.deleteUserDictionary(
     551                                        function(arg)
     552                                        {
     553                                                //console.info( "dic_delete callback called with args" , arg );
     554                                               
     555                                                hide_dic_buttons ( all_buttons );
     556                                                display_dic_buttons ( dic_buttons[0] );
     557                                                set_dic_name( "" ); // empty input field
     558                                                dic_success_message( suc_massage );
     559                                        },function(arg){
     560                                                //console.info( " dic_delete errorback called with args" , arg )
     561                                                dic_error_message(err_massage);
     562                                        });
     563                               
     564                        }
     565                        function dic_restore ( el, ev, dic_name , dic_buttons )
     566                        {
     567                                // try to restore existing dictionary
     568                                var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
     569                                var err_massage = captions["err_dic_restore"];
     570                                var suc_massage = captions["succ_dic_restore"];
     571                                suc_massage = suc_massage.replace("%s" , dic_name );
     572                                err_massage = err_massage.replace("%s" , dic_name );
     573                               
     574                               
     575                                scayt.renameUserDictionary(dic_name,
     576                                        function(arg)
     577                                        {
     578                                                //console.info( "dic_restore callback called with args" , arg );
     579                                                hide_dic_buttons ( all_buttons );
     580                                                display_dic_buttons(dic_buttons[1]);
     581                                                dic_success_message( suc_massage );
     582                                        },function(arg)
     583                                        {
     584                                                //console.info( " dic_restore errorback called with args" , arg )
     585                                                dic_error_message( err_massage );
     586                                        })
     587                               
     588                        }
     589                        function dic_error_message ( m )
     590                        {
     591                                if (!m) return "";
     592                                dojo.byId('dic_message').innerHTML =  '<span class="error">' + m + '</span>' ;
     593                        }
     594            function dic_success_message ( m )
     595                        {
     596                                if (!m) return "";
     597                                dojo.byId('dic_message').innerHTML = '<span class="success">' + m + '</span>' ;
     598                        }
     599                        function display_dic_buttons ( sIds )
     600                        {
     601                                sIds = new String( sIds );
     602                                dojo.forEach( sIds.split(','), function ( id,i,arr) {
     603                                        dojo.style(dojo.byId( id ),{display:"inline"})
     604                                })
     605                        }
     606                        function hide_dic_buttons ( sIds )
     607                        {
     608                                sIds = new String( sIds );
     609                                dojo.forEach( sIds.split(','), function ( id,i,arr) {
     610                                        dojo.style(dojo.byId( id ),{display:"none"})
     611                                })
     612                        }
     613                        function set_dic_name ( dic_name )
     614                        {
     615                                dojo.byId('dic_name').value = dic_name;
     616                        }
     617                       
     618        </script>
     619    </head>
     620    <body class="PopupBody BackColor">
     621            <ul class="tabs">
     622                <li class="options PopupTab"></li>
     623                <li class="langs PopupTab"></li>
     624                                <!--li class="dictionary PopupTab"></li-->
     625                <li class="about PopupTab"></li>
     626            </ul>
     627            <div class="tabs-container">
     628               
     629                <div class="inner_options tab_container">
     630                        <div class="messagebox"></div>
     631                   <ul id="scayt_options">
     632                       <li>
     633                           <input type="checkbox" value="0" name="allCaps" />
     634                           <label for="allCaps" id="allCaps"></label>
     635                       </li>
     636                       <!--li>
     637                           <input type="checkbox" value="0" name="ignoreDomainNames" />
     638                           <label for="ignoreDomainNames" id="ignoreDomainNames"></label>
     639                       </li-->
     640                       <li>
     641                           <input type="checkbox" value="0" name="mixedCase" />
     642                           <label for="mixedCase" id="mixedCase"></label>
     643                       </li>
     644                       <li>
     645                           <input type="checkbox" value="0" name="mixedWithDigits" />
     646                           <label for="mixedWithDigits" id="mixedWithDigits"></label>
     647                       </li>
     648                   </ul>
     649                                   
     650                </div>
     651                               
     652                                <div class="inner_dictionary tab_container">
     653                                        <div class="messagebox" id="dic_message"></div>
     654                                        <div class="dictionary" >
     655                                                <label for="dname" id="dname"></label>
     656                                                <input type="text" size="14" maxlength="15" value="" id="dic_name" name="dic_name"/>
     657                                                <div class="dic_buttons">
     658                                                        <a href="#" id="dic_create" class="button"></a>
     659                                                        <a href="#" id="dic_delete" class="button"></a>
     660                                                        <a href="#" id="dic_rename" class="button"></a>
     661                                                        <a href="#" id="dic_restore" class="button"></a>
     662                                                </div>
     663                                        </div>
     664                                       
     665                                       
     666                                        <p id="dic_info">
     667                                               
     668                                        </p>
     669                                   
     670                                </div>
     671                <div class="inner_langs tab_container">
     672                        <div class="messagebox"></div> 
     673                        <div class="lcol">
     674                           
     675                        </div>
     676                        <div class="rcol">
     677                           
     678                        </div>
     679                   
     680                </div>
     681                <div class="inner_about tab_container">
     682                        <div class="messagebox" ></div>
     683                                        <div id="about_throwt_info"></div>
     684               </div>
     685            </div>
     686    </body>
     687</html>
  • _source/plugins/scayt/dialogs/options.js

     
     1/*
     2Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
     3For licensing, see LICENSE.html or http://ckeditor.com/license
     4*/
     5
     6CKEDITOR.dialog.add( 'scaytcheck', function( editor )
     7{
     8    return {
     9           title : 'SpellCheckAsYouType',
     10           resizable : CKEDITOR.DIALOG_RESIZE_BOTH,
     11           minWidth : 340,
     12           minHeight : 280,
     13           onShow : function ()
     14                   {
     15                                var number = CKEDITOR.tools.getNextNumber(),
     16                                        iframeId = 'cke_frame_' + number;
     17
     18                                var iframeHTML = '<iframe' +
     19                                        ' src=""' +
     20                                        ' style="width:250px;height:250px;"' +
     21                                        ' frameborder="0"' +
     22                                        ' name="' + iframeId + '"' +
     23                                        ' id="' + iframeId + '"' +
     24                                        ' allowtransparency="1">' +
     25                                '</iframe>';
     26
     27                                this.data = editor.fire( "scaytDialog", {} );
     28                                try {
     29                                        CKEDITOR.document.getById( "scayt_dialog" ).setHtml( iframeHTML );
     30                                        var src = CKEDITOR.getUrl( editor.plugins.scayt.path + 'dialogs/' )
     31                                        var rnd_time = new Date().getTime();
     32                                        CKEDITOR.document.getById( iframeId ).setAttribute(
     33                                                        "src", src + "options.html?act=" + this.data.scaytAction + "&t=" + rnd_time
     34                                        );
     35                                }
     36                                catch ( e )
     37                                {
     38                                        alert ( "Error onShow: "+ e )
     39                                }
     40           },
     41                        contents : [
     42                                {
     43                                        id : 'general',
     44                                        label : 'Scayt Options',
     45                                        elements : [
     46                                                {
     47                                                        type : 'html',
     48                                                        style: '',
     49                                                        id : 'content',
     50                                                        html : '<div id="scayt_dialog" style="width:220px;height:250px;" ></div>'
     51                                                }
     52                                        ]
     53                                }
     54                        ]
     55        };
     56});
     57 No newline at end of file
  • _source/plugins/scayt/dialogs/toolbar.css

     
     1a
     2{
     3        text-decoration:none;
     4        padding: 2px 4px 4px 6px;
     5        display : block;
     6        border-width: 1px;
     7        border-style: solid;
     8        margin : 0px;
     9}
     10
     11a.cke_scayt_toogle:hover,
     12a.cke_scayt_toogle:focus,
     13a.cke_scayt_toogle:active
     14{
     15        border-color: #316ac5;
     16        background-color: #dff1ff;
     17        color : #000;
     18        cursor: pointer;
     19        margin : 0px;
     20}
     21a.cke_scayt_toogle {
     22        color : #316ac5;
     23        border-color: #fff;
     24}
     25
     26.scayt_enabled a.cke_scayt_item {
     27        color : #316ac5;
     28        border-color: #fff;
     29        margin : 0px;
     30}
     31.scayt_disabled a.cke_scayt_item {
     32        color : gray;
     33        border-color : #fff;
     34}
     35
     36.scayt_enabled a.cke_scayt_item:hover,
     37.scayt_enabled a.cke_scayt_item:focus,
     38.scayt_enabled a.cke_scayt_item:active
     39{
     40        border-color: #316ac5;
     41        background-color: #dff1ff;
     42        color : #000;
     43        cursor: pointer;
     44}
     45
     46.scayt_disabled a.cke_scayt_item:hover,
     47.scayt_disabled a.cke_scayt_item:focus,
     48.scayt_disabled a.cke_scayt_item:active
     49{
     50        border-color: gray;
     51        background-color: #dff1ff;
     52        color : gray;
     53        cursor: no-drop;
     54}
     55
     56#set_on, #set_off
     57{
     58        display: none;
     59}
     60.scayt_enabled #set_on
     61{
     62        display: none;
     63}
     64.scayt_disabled #set_on
     65{
     66        display: inline;
     67}
     68.scayt_disabled #set_off
     69{
     70        display: none;
     71}
     72.scayt_enabled  #set_off
     73{
     74        display: inline;
     75}
  • _source/plugins/toolbar/plugin.js

     
    272272CKEDITOR.config.toolbar_Full =
    273273[
    274274        ['Source','-','Save','NewPage','Preview','-','Templates'],
    275         ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker'],
     275        ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
    276276        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
    277277        ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
    278278        '/',
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy