From bfcd501f3eaf32523a98d92a31f196356cb14536 Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Mon, 3 Feb 2014 16:47:37 +0400 Subject: [PATCH] merged with master --- css/app.css | 61 +++++++++++++++++--- img/icons/Location_Active.png | Bin 574 -> 3238 bytes index.html | 8 +-- js/app.js | 4 +- js/background.js | 4 +- js/directives.js | 6 +- manifest.webapp | 16 ++--- partials/im.html | 2 +- vendor/jquery.emojiarea/jquery.emojiarea.js | 37 +++++++----- 9 files changed, 99 insertions(+), 39 deletions(-) diff --git a/css/app.css b/css/app.css index 6e8f98e7..2286ca99 100644 --- a/css/app.css +++ b/css/app.css @@ -10,6 +10,7 @@ html { /*background-size: 248px 382px;*/ } body { + color: #000; background: none; font: 12px/18px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, Verdana, sans-serif; /*-webkit-font-smoothing: antialiased;*/ @@ -23,6 +24,9 @@ body.non_osx, font: 13px/18px Tahoma, sans-serif, Arial, Helvetica; font-weight: normal; } +h1, h2, h3, h4, h5 { + color: #222; +} .non_osx h4 { font-size: 17px; } @@ -214,6 +218,7 @@ fieldset[disabled] .btn-tg.active { margin: 0 18px; } .modal-title { + color: #222; font-weight: bold; font-size: 17px; line-height: 1.4; @@ -398,6 +403,10 @@ fieldset[disabled] .btn-tg.active { margin-bottom: 0; margin: 0; } +.is_1x .im_dialogs_search_field { + background-image: url(../img/icons/IconsetW_1x.png); +} + .im_dialogs_search_field:focus, .im_dialogs_search_field:active { background-color: #FFF; @@ -415,6 +424,9 @@ fieldset[disabled] .btn-tg.active { background-size: 42px 280px; opacity: 0.6; } +.is_1x .im_dialogs_search_clear { + background-image: url(../img/icons/IconsetW_1x.png); +} .im_dialogs_search_clear:hover { opacity: 1; } @@ -427,6 +439,9 @@ fieldset[disabled] .btn-tg.active { padding: 0 19px 0 12px; outline: none ! important; } +.im_dialogs_scrollable_wrap .im_dialog_wrap { + margin-top: 0; +} .im_dialogs_scrollable_wrap a.im_dialog { clear: both; overflow: hidden; @@ -440,10 +455,10 @@ fieldset[disabled] .btn-tg.active { } .im_dialogs_scrollable_wrap .active a.im_dialog { border-radius: 2px; - background-color: #5785A5; + background-color: #6490b1; } .im_dialogs_scrollable_wrap .active a.im_dialog:hover { - background-color: #5785A5; + background-color: #6490b1; } .im_dialogs_scrollable_wrap a.im_dialog .icon, @@ -481,10 +496,14 @@ a.im_dialog:hover .im_dialog_message_text { } .im_dialog_peer { + color: #222; font-weight: bold; margin-top: 2px; margin-bottom: 2px; } +.active .im_dialog_peer { + color: #FFF; +} .im_dialog_badge { background: #75BB72; @@ -570,7 +589,6 @@ a.im_dialog:hover .im_dialog_message_text { padding: 10px 4px 0; } .im_history_panel_title h4 { - color: #333333; margin-bottom: 7px; font-size: 17px; } @@ -759,7 +777,7 @@ div.im_message_video_thumb { width: 10px; height: 14px; - background: url(../img/icons/Location_Active.png) 0 0 no-repeat; + background: url(../img/icons/Location_Active.png?1) 0 0 no-repeat; background-size: 10px 14px; } @@ -786,6 +804,9 @@ div.im_message_video_thumb { border-radius: 3px; margin-right: 10px; } +.is_1x .icon-document { + background-image: url(../img/icons/IconsetW_1x.png); +} .im_message_document_info { float: left; @@ -800,7 +821,7 @@ div.im_message_video_thumb { } .im_message_document_name { - color: #000; + color: #222; display: inline-block; font-weight: bold; max-width: 200px; @@ -911,8 +932,7 @@ div.im_message_video_thumb { } .im_message_date { color: #adadad; - font-size: 0.9em; - /*font-size: 0.8em;*/ + font-size: 0.8em; } div.im_message_author, div.im_message_body { @@ -1015,6 +1035,9 @@ textarea.im_message_field { background-size: 42px 280px; opacity: 0.8; } +.is_1x .icon-paperclip { + background-image: url(../img/icons/IconsetW_1x.png); +} .im_attach:hover .icon-paperclip { opacity: 1; } @@ -1041,6 +1064,9 @@ textarea.im_message_field { background-size: 42px 280px; opacity: 0.8; } +.is_1x .icon-emoji { + background-image: url(../img/icons/IconsetW_1x.png); +} .im_emoji_btn:hover .icon-emoji { opacity: 1; } @@ -1086,6 +1112,9 @@ textarea.im_message_field { background-size: 42px 280px; opacity: 0.8; } +.is_1x .icon-camera { + background-image: url(../img/icons/IconsetW_1x.png); +} .im_media_attach:hover .icon-camera { opacity: 1; } @@ -1332,6 +1361,9 @@ img.img_fullsize { height: 7px; margin: 0 83px; } +.is_1x .emoji-menu-tail { + background-image: url(../img/icons/IconsetW_1x.png); +} .emoji-menu .nano > .pane { @@ -1381,4 +1413,17 @@ img.img_fullsize { text-align: center; font-size: 1.4em; line-height: 160%; -} \ No newline at end of file +} + + + +@media (max-width: 480px) { + .login_form_wrap { + border-radius: 0; + max-width: auto; + box-shadow: none; + -webkit-box-shadow: none; + margin: 30px auto 10px; + } + +} diff --git a/img/icons/Location_Active.png b/img/icons/Location_Active.png index 9878efba9ccc37dc5a4280ffa097c6d3b52e75e8..a1394d00cd20a9478fc5cb7f94ce7eae0aae1db7 100755 GIT binary patch delta 3234 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 Uc38p!RsaA107*qoM6N<$f?!M*{Qv*} delta 549 zcmV+=0^0qi8NLLNB!2{FK}|sb0I$e51&Zka000?uMObuGZ)S9NVRB^vL1b@YWgtmy zVP|DhWnpA_ami&o0005dNkl9UOoaP>~meBhUx7!MVYV z)B)zeT{K&cnGEw_#`3N%P=IMdWw;2&t;R*W%EL4w8}@;WA*l$C`BGF0fUImt=h3DJ zq#GRqQ7{U+L4OK-Dq>@(a@fx$ClmoyFviu%+LtSGC?UANLW;#Bg_*4!x6Yq-6B;wi za9*Sucv3wCGHll*^&1QWnnGI1@Jo{vH<(Uyb34^ZhL_-5u}HUGaJ(2Fcf`8pL$`Fx zAK(G>C<4N4O6T>=6$cGRu_L5gbDKH?E@rRb&^Fu!Z+}*E%3ze$Y(wh&g(l3dxZ&%D z!yY*MhZ()7DXLC2zET{}h*n`%)Xl>ZSZlzn#8X>4U`b2h+T&J}sIKZ}_#3DhQL@si z4-3Oq(gw2=u%%iMhNK)PIz=yLQkNuLwv}{@F=~wo@bX{73L8|Vb2Ij;-@|QQfO-07 nfDN}`;U2Nya=d+4{Rl7s&HZC`m=&uc00000NkvXXu0mjfDX#g5 diff --git a/index.html b/index.html index 0952d469..b29a6014 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -51,11 +51,11 @@ - + - + diff --git a/js/app.js b/js/app.js index 3753f45f..3b60c652 100644 --- a/js/app.js +++ b/js/app.js @@ -11,10 +11,12 @@ window._testMode = location.search.indexOf('test=1') > 0; window._debugMode = location.search.indexOf('debug=1') > 0; window._osX = (navigator.platform || '').toLowerCase().indexOf('mac') != -1 || (navigator.userAgent || '').toLowerCase().indexOf('mac') != -1; +window._retina = window.devicePixelRatio > 1; if (!window._osX) { $('body').addClass('non_osx'); } +$('body').addClass(window._retina ? 'is_2x' : 'is_1x'); // Declare app level module which depends on filters, and services angular.module('myApp', [ @@ -55,7 +57,7 @@ config(['$locationProvider', '$routeProvider', '$compileProvider', function($loc // $locationProvider.html5Mode(true); $routeProvider.when('/', {templateUrl: 'partials/welcome.html?2', controller: 'AppWelcomeController'}); $routeProvider.when('/login', {templateUrl: 'partials/login.html?3', controller: 'AppLoginController'}); - $routeProvider.when('/im', {templateUrl: 'partials/im.html?8', controller: 'AppIMController', reloadOnSearch: false}); + $routeProvider.when('/im', {templateUrl: 'partials/im.html?9', controller: 'AppIMController', reloadOnSearch: false}); $routeProvider.otherwise({redirectTo: '/'}); }]); diff --git a/js/background.js b/js/background.js index 71f326cc..7a4e625d 100644 --- a/js/background.js +++ b/js/background.js @@ -11,8 +11,8 @@ chrome.app.runtime.onLaunched.addListener(function(launchData) { width: 1100, height: 700 }, - minWidth: 1100, - minHeight: 700, + minWidth: 1050, + minHeight: 400, frame: 'chrome' }); }); \ No newline at end of file diff --git a/js/directives.js b/js/directives.js index 6b875e09..7d6cc8ca 100644 --- a/js/directives.js +++ b/js/directives.js @@ -201,8 +201,10 @@ angular.module('myApp.directives', ['myApp.filters']) scope.$on('ui_editor_change', function (e, data) { if (data.start) { - $(sendFormWrap1).css({height: $(sendFormWrap).height()}); - $(sendPanelWrap).addClass('im_panel_fixed_bottom'); + if (!$(sendPanelWrap).hasClass('im_panel_fixed_bottom')) { + $(sendFormWrap1).css({height: $(sendFormWrap).height()}); + $(sendPanelWrap).addClass('im_panel_fixed_bottom'); + } } else { $(sendFormWrap1).css({height: 'auto'}); $(sendPanelWrap).removeClass('im_panel_fixed_bottom'); diff --git a/manifest.webapp b/manifest.webapp index 95ef7f4c..3d2d3945 100644 --- a/manifest.webapp +++ b/manifest.webapp @@ -2,7 +2,7 @@ "name": "Webogram", "description": "Webogram – UNOFFICIAL Telegram Web App.\nMore info & source code here: https://github.com/zhukov/webogram", "version": "0.0.12", - "launch_path": "/webogram/index.html", + "launch_path": "/index.html", "developer": { "name": "Igor Zhukov", "url": "https://github.com/zhukov" @@ -16,12 +16,12 @@ } }, "icons": { - "16": "/webogram/img/icons/icon16.png", - "32": "/webogram/img/icons/icon32.png", - "60": "/webogram/img/icons/icon60.png", - "64": "/webogram/img/icons/icon64.png", - "90": "/webogram/img/icons/icon90.png", - "120": "/webogram/img/icons/icon120.png", - "128": "/webogram/img/icons/icon128.png" + "16": "/img/icons/icon16.png", + "32": "/img/icons/icon32.png", + "60": "/img/icons/icon60.png", + "64": "/img/icons/icon64.png", + "90": "/img/icons/icon90.png", + "120": "/img/icons/icon120.png", + "128": "/img/icons/icon128.png" } } \ No newline at end of file diff --git a/partials/im.html b/partials/im.html index 3bf2d586..e6362b1b 100644 --- a/partials/im.html +++ b/partials/im.html @@ -13,7 +13,7 @@
diff --git a/vendor/jquery.emojiarea/jquery.emojiarea.js b/vendor/jquery.emojiarea/jquery.emojiarea.js index 09f6802a..92a1e132 100644 --- a/vendor/jquery.emojiarea/jquery.emojiarea.js +++ b/vendor/jquery.emojiarea/jquery.emojiarea.js @@ -254,7 +254,13 @@ this.$editor = $('
').addClass('emoji-wysiwyg-editor'); this.$editor.text($textarea.val()); this.$editor.attr({contenteditable: 'true'}); - this.$editor.on('blur keyup paste', function(e) { return self.onChange.apply(self, [e]); }); + /*! MODIFICATION START + Following code was modified by Igor Zhukov, in order to improve rich text paste + */ + this.$editor.on('paste', function(e) { return self.onPaste.apply(self, [e]); }); + this.$editor.on('blur keyup', function(e) { return self.onChange.apply(self, [e]); }); + /*! MODIFICATION END */ + this.$editor.on('mousedown focus', function() { document.execCommand('enableObjectResizing', false, false); }); this.$editor.on('blur', function() { document.execCommand('enableObjectResizing', true, true); }); @@ -278,19 +284,24 @@ }); }; + /*! MODIFICATION START + Following code was modified by Igor Zhukov, in order to improve rich text paste + */ + EmojiArea_WYSIWYG.prototype.onPaste = function(e) { + var text = (e.originalEvent || e).clipboardData.getData('text/plain'), + self = this; + setTimeout(function () { + self.onChange(); + }, 0); + if (text.length) { + document.execCommand('insertText', false, text); + return cancelEvent(e); + } + return true; + } + /*! MODIFICATION END */ + EmojiArea_WYSIWYG.prototype.onChange = function(e) { - if (e && e.type == 'paste') { - var text = (e.originalEvent || e).clipboardData.getData('text/plain'), - self = this; - setTimeout(function () { - self.onChange(); - }, 0); - if (text.length) { - document.execCommand('insertText', false, text); - return cancelEvent(e); - } - return true; - } this.$textarea.val(this.val()).trigger('change'); };