mirror of https://github.com/ThmmyNoLife/mTHMMY
Browse Source
Work on topic layout, activity and helper classes Thumbnail images may not appear or be mixed app --> holder bug!!pull/24/head
Apostolos Fanakis
8 years ago
25 changed files with 1490 additions and 331 deletions
@ -0,0 +1,838 @@ |
|||
/* TP specific classes */ |
|||
.sitemap{ |
|||
margin: 0; |
|||
padding: 0; |
|||
list-style: none; |
|||
} |
|||
.sitemap_topheader{ |
|||
background: #ECEDF3; |
|||
border-bottom: solid 1px #ffffff; |
|||
padding: 4px; |
|||
} |
|||
|
|||
.sitemap_header{ |
|||
background: #ECEDF3; |
|||
border-bottom: solid 1px #ffffff; |
|||
padding: 4px; |
|||
display: block; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.sitemap_header_active{ |
|||
background: #C8D6E1; |
|||
border-bottom: solid 1px #ffffff; |
|||
padding: 4px; |
|||
display: block; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.sitemap_header:hover , .sitemap_header_active:hover{ |
|||
background: #DBE4ED; |
|||
border-bottom: solid 1px #ffffff; |
|||
padding: 4px; |
|||
display: block; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
/* TP other styles */ |
|||
ul#articlelist |
|||
{ |
|||
margin: 0; |
|||
padding: 0.5ex 0; |
|||
list-style: none; |
|||
} |
|||
ul#catlist |
|||
{ |
|||
margin: 0; |
|||
padding: 0; |
|||
list-style: none; |
|||
border-top: solid 1px #d0d0d0; |
|||
} |
|||
|
|||
ul#articlelist li |
|||
{ |
|||
margin: 0; |
|||
display: block; |
|||
padding: 0 0 0 3ex; |
|||
background: url(images/divider.gif) no-repeat 5px 3px; |
|||
} |
|||
ul#catlist li |
|||
{ |
|||
display: block; |
|||
padding: 0 0 0 3ex; |
|||
margin: 0; |
|||
} |
|||
|
|||
/* TP rss feed styles */ |
|||
.rss_title{ |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.rss_body{ |
|||
margin-bottom: 1ex; |
|||
} |
|||
|
|||
.rss_image{ |
|||
margin: 4px 0 4px 0; |
|||
} |
|||
/* Normal, standard links. */ |
|||
a:link, a:visited |
|||
{ |
|||
color: #004080; |
|||
text-decoration: none; |
|||
} |
|||
a:hover |
|||
{ |
|||
text-decoration: underline; |
|||
} |
|||
|
|||
/* Navigation links - for the link tree. */ |
|||
.nav, .nav:link, .nav:visited |
|||
{ |
|||
color: #000000; |
|||
text-decoration: none; |
|||
} |
|||
a.nav:hover |
|||
{ |
|||
color: #cc3333; |
|||
} |
|||
|
|||
/* Tables should show empty cells. */ |
|||
table |
|||
{ |
|||
empty-cells: show; |
|||
} |
|||
/* The main body of the entire forum. */ |
|||
body |
|||
{ |
|||
background: white; |
|||
margin: 0; |
|||
padding: 0; |
|||
} |
|||
/* By default (td, body..) use verdana in black. */ |
|||
body, td, th , tr |
|||
{ |
|||
color: #000000; |
|||
font-size: small; |
|||
font-family: Trebuchet, sans-serif; |
|||
} |
|||
|
|||
|
|||
|
|||
/* Input boxes - just a bit smaller than normal so they align well. */ |
|||
input, textarea, button |
|||
{ |
|||
color: #000000; |
|||
font-family: Trebuchet, sans-serif; |
|||
border: 1px solid #aaa; |
|||
} |
|||
input, button |
|||
{ |
|||
font-size: 90%; |
|||
} |
|||
|
|||
textarea |
|||
{ |
|||
font-size: 100%; |
|||
color: #000000; |
|||
font-family: Trebuchet, sans-serif; |
|||
} |
|||
|
|||
/* All input elements that are checkboxes or radio buttons. */ |
|||
input.check |
|||
{ |
|||
} |
|||
|
|||
/* Selects are a bit smaller, because it makes them look even better 8). */ |
|||
select |
|||
{ |
|||
font-size: 90%; |
|||
font-weight: normal; |
|||
color: #000000; |
|||
font-family: Trebuchet, sans-serif; |
|||
} |
|||
|
|||
/* Standard horizontal rule.. ([hr], etc.) */ |
|||
hr, .hrcolor |
|||
{ |
|||
height: 1px; |
|||
border: 0; |
|||
color: #666666; |
|||
background-color: #666666; |
|||
} |
|||
|
|||
/* No image should have a border when linked */ |
|||
a img |
|||
{ |
|||
border: 0; |
|||
} |
|||
/* A quote, perhaps from another post. */ |
|||
.quote |
|||
{ |
|||
font-family: tahoma, sans-serif; |
|||
color: #000000; |
|||
background-color: #D7DAEC; |
|||
border: 1px solid #000000; |
|||
margin: 1px; |
|||
padding: 1px; |
|||
font-size: x-small; |
|||
line-height: 1.4em; |
|||
} |
|||
|
|||
/* A code block - maybe even PHP ;). */ |
|||
.code |
|||
{ |
|||
color: #000000; |
|||
background-color: #dddddd; |
|||
font-family: "Comic Sans MS", "times new roman", monospace; |
|||
font-size: x-small; |
|||
line-height: 1.3em; |
|||
/* Put a nice border around it. */ |
|||
border: 1px solid #000000; |
|||
margin: 1px auto 1px auto; |
|||
padding: 1px; |
|||
width: 99%; |
|||
/* Don't wrap its contents, and show scrollbars. */ |
|||
white-space: nowrap; |
|||
overflow: auto; |
|||
/* Stop after about 24 lines, and just show a scrollbar. */ |
|||
max-height: 24em; |
|||
} |
|||
|
|||
/* The "Quote:" and "Code:" header parts... */ |
|||
.quoteheader, .codeheader |
|||
{ |
|||
font-family: tahoma, sans-serif; |
|||
color: #000000; |
|||
text-decoration: none; |
|||
font-style: normal; |
|||
font-weight: bold; |
|||
font-size: x-small; |
|||
line-height: 1.2em; |
|||
} |
|||
|
|||
/* Generally, those [?] icons. This makes your cursor a help icon. */ |
|||
.help |
|||
{ |
|||
cursor: help; |
|||
} |
|||
|
|||
/* /me uses this a lot. (emote, try typing /me in a post.) */ |
|||
.meaction |
|||
{ |
|||
color: red; |
|||
} |
|||
|
|||
/* The main post box - this makes it as wide as possible. */ |
|||
.editor |
|||
{ |
|||
width: 96%; |
|||
} |
|||
|
|||
/* Highlighted text - such as search results. */ |
|||
.highlight |
|||
{ |
|||
background-color: yellow; |
|||
font-weight: bold; |
|||
color: black; |
|||
} |
|||
|
|||
/* Alternating backgrounds for posts, and several other sections of the forum. */ |
|||
.windowbg |
|||
{ |
|||
color: #000000; |
|||
background-color: #E3E6E1; |
|||
} |
|||
.windowbg2 |
|||
{ |
|||
color: #000000; |
|||
background-color: #F2F5F0; |
|||
} |
|||
.windowbg3 |
|||
{ |
|||
color: #000000; |
|||
background-color: #E1E8E0; |
|||
} |
|||
/* the today container in calendar */ |
|||
.calendar_today |
|||
{ |
|||
background-color: #FFFFFF; |
|||
} |
|||
|
|||
/* These are used primarily for titles, but also for headers (the row that says what everything in the table is.) */ |
|||
.titlebg, tr.titlebg th, tr.titlebg td, .titlebg2, tr.titlebg2 th, tr.titlebg2 td |
|||
{ |
|||
background-color: #A3A392; |
|||
padding-top: 10px; |
|||
} |
|||
.titlebg, tr.titlebg th, tr.titlebg td, .titlebg a:link, .titlebg a:visited, .titlebg2, tr.titlebg2 th, tr.titlebg2 td, .titlebg2 a:link, .titlebg2 a:visited |
|||
{ |
|||
color: white; |
|||
font-style: normal; |
|||
} |
|||
.titlebg a:hover |
|||
{ |
|||
color: #dfdfdf; |
|||
} |
|||
|
|||
.catbg, .catbg2, .catbg3 |
|||
{ |
|||
font-weight: bold; |
|||
background-color: #e4e2e0; |
|||
color: #000000; |
|||
} |
|||
/* This is used for tables that have a grid/border background color (such as the topic listing.) */ |
|||
.bordercolor |
|||
{ |
|||
background-color: white; |
|||
} |
|||
|
|||
/* This is used on tables that should just have a border around them. */ |
|||
.tborder |
|||
{ |
|||
background-color: #FFFFFF; |
|||
} |
|||
|
|||
/* Default font sizes: small (8pt), normal (10pt), and large (14pt). */ |
|||
.smalltext |
|||
{ |
|||
font-size: x-small; |
|||
font-family: tahoma, sans-serif; |
|||
} |
|||
.middletext |
|||
{ |
|||
font-size: 90%; |
|||
} |
|||
.normaltext |
|||
{ |
|||
font-size: small; |
|||
} |
|||
.largetext |
|||
{ |
|||
font-size: large; |
|||
} |
|||
|
|||
|
|||
/* Posts and personal messages displayed throughout the forum. */ |
|||
.post, .personalmessage |
|||
{ |
|||
width: 100%; |
|||
overflow: auto; |
|||
line-height: 1.3em; |
|||
} |
|||
|
|||
/* All the signatures used in the forum. If your forum users use Mozilla, Opera, or Safari, you might add max-height here ;). */ |
|||
.signature |
|||
{ |
|||
width: 100%; |
|||
overflow: auto; |
|||
padding-bottom: 3px; |
|||
line-height: 1.3em; |
|||
} |
|||
|
|||
/* Sometimes there will be an error when you post */ |
|||
.error |
|||
{ |
|||
color: red; |
|||
} |
|||
|
|||
|
|||
/* definitions for the main tab, active means the tab reflects which page is displayed */ |
|||
.maintab_first, .maintab_back, .maintab_last, .maintab_active_first, .maintab_active_back, .maintab_active_last |
|||
{ |
|||
text-transform: uppercase; |
|||
vertical-align: top; |
|||
} |
|||
.maintab_back, .maintab_active_back |
|||
{ |
|||
text-decoration: none; |
|||
font-size: 9px; |
|||
vertical-align: top; |
|||
padding: 2px 6px 6px 6px; |
|||
font-family: Trebuchet, sans-serif; |
|||
} |
|||
|
|||
.maintab_first |
|||
{ |
|||
display: none; |
|||
} |
|||
.maintab_back |
|||
{ |
|||
} |
|||
.maintab_last |
|||
{ |
|||
display: none; |
|||
} |
|||
.maintab_active_first |
|||
{ |
|||
display: none; |
|||
} |
|||
.maintab_active_back |
|||
{ |
|||
background: #ffd; |
|||
} |
|||
.maintab_active_last |
|||
{ |
|||
display: none; |
|||
} |
|||
|
|||
/* how links behave in main tab. */ |
|||
.maintab_back a:link , .maintab_back a:visited, .maintab_active_back a:link , .maintab_active_back a:visited |
|||
{ |
|||
color: black; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
.maintab_back a:hover, .maintab_active_back a:hover |
|||
{ |
|||
text-decoration: underline; |
|||
} |
|||
/* definitions for the mirror tab */ |
|||
.mirrortab_first, .mirrortab_back, .mirrortab_last, .mirrortab_active_first, .mirrortab_active_back, .mirrortab_active_last |
|||
{ |
|||
color: black; |
|||
text-transform: uppercase; |
|||
vertical-align: top; |
|||
} |
|||
.mirrortab_back, .mirrortab_active_back |
|||
{ |
|||
text-decoration: none; |
|||
font-size: 9px; |
|||
vertical-align: bottom; |
|||
padding: 6px 6px 2px 6px; |
|||
font-family: Trebuchet, sans-serif; |
|||
} |
|||
|
|||
.mirrortab_first |
|||
{ |
|||
display: none; |
|||
} |
|||
.mirrortab_back |
|||
{ |
|||
} |
|||
.mirrortab_last |
|||
{ |
|||
display: none; |
|||
} |
|||
.mirrortab_active_first |
|||
{ |
|||
display: none; |
|||
} |
|||
.mirrortab_active_back |
|||
{ |
|||
background: #ffd; |
|||
} |
|||
.mirrortab_active_last |
|||
{ |
|||
display: none; |
|||
} |
|||
|
|||
/* how links behave in mirror tab. */ |
|||
.mirrortab_back a:link , .mirrortab_back a:visited, .mirrortab_active_back a:link , .mirrortab_active_back a:visited |
|||
{ |
|||
color: black; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
.mirrortab_back a:hover, .mirrortab_active_back a:hover |
|||
{ |
|||
text-decoration: underline; |
|||
} |
|||
|
|||
/* The AJAX notifier */ |
|||
#ajax_in_progress |
|||
{ |
|||
background: #32CD32; |
|||
color: white; |
|||
text-align: center; |
|||
font-weight: bold; |
|||
font-size: 18pt; |
|||
padding: 3px; |
|||
width: 100%; |
|||
position: fixed; |
|||
top: 0; |
|||
left: 0; |
|||
} |
|||
|
|||
/* ################################### */ |
|||
|
|||
#left |
|||
{ |
|||
background: url(images/img2/leftbg.jpg) repeat-y white; |
|||
margin: auto; |
|||
} |
|||
#right |
|||
{ |
|||
background: url(images/img2/rightbg.gif) repeat-y top right; |
|||
} |
|||
#top |
|||
{ |
|||
background: url(images/img2/top.jpg) repeat-x; |
|||
} |
|||
#topleft |
|||
{ |
|||
background: url(images/img2/lefttop.jpg) no-repeat; |
|||
} |
|||
#topright |
|||
{ |
|||
background: url(images/img2/logo.jpg) no-repeat top right; |
|||
} |
|||
#main |
|||
{ |
|||
padding: 100px 81px 20px 81px; |
|||
} |
|||
/* #################### */ |
|||
|
|||
ul#menubox |
|||
{ |
|||
padding: 0 0 44px 0; |
|||
margin: 0; |
|||
list-style: none; |
|||
position: absolute; |
|||
left: 0; |
|||
top: 87px; |
|||
background: url(images/img2/leftbot.gif) no-repeat bottom left; |
|||
} |
|||
#smfshout |
|||
{ |
|||
padding: 6px; |
|||
font-size: xx-small; |
|||
} |
|||
.smfshout_delete |
|||
{ |
|||
border: solid 1px #888; |
|||
background: white; |
|||
padding: 1px; |
|||
} |
|||
.smfshout_body |
|||
{ |
|||
border: solid 1px #888; |
|||
background: white; |
|||
padding: 3px; |
|||
text-align: left; |
|||
} |
|||
.smfshout_frame |
|||
{ |
|||
padding: 5px 0 0 0; |
|||
} |
|||
ul#menubox li |
|||
{ |
|||
padding: 0 0 0 8px; |
|||
width: 65px; |
|||
height: 44px; |
|||
margin: 0; |
|||
background: url(images/img2/left.gif) repeat-y; |
|||
} |
|||
ul#menubox li a |
|||
{ |
|||
font-family: "Comic Sans MS", serif; |
|||
display: block; |
|||
color: black; |
|||
width: 45px; |
|||
height: 42px; |
|||
padding: 0 0 0 6px; |
|||
} |
|||
ul#menubox li a span |
|||
{ |
|||
display: none; |
|||
} |
|||
|
|||
ul#menubox li.m1 |
|||
{ |
|||
padding-left: 2px; |
|||
} |
|||
ul#menubox li.m2 |
|||
{ |
|||
padding-left: 6px; |
|||
} |
|||
ul#menubox li.m3 |
|||
{ |
|||
padding-left: 10px; |
|||
} |
|||
ul#menubox li.m4 |
|||
{ |
|||
padding-left: 14px; |
|||
} |
|||
ul#menubox li.m5 |
|||
{ |
|||
padding-left: 18px; |
|||
} |
|||
|
|||
/* home button */ |
|||
a#homebtn |
|||
{ |
|||
background: url(images/features/home.gif) no-repeat; |
|||
} |
|||
a#homebtn:hover |
|||
{ |
|||
background: url(images/features/home-over.gif) no-repeat; |
|||
} |
|||
a.chosen#homebtn |
|||
{ |
|||
background: url(images/features/home-select.gif) no-repeat; |
|||
} |
|||
/* help button */ |
|||
a#helpbtn |
|||
{ |
|||
background: url(images/features/help.gif) no-repeat; |
|||
} |
|||
a#helpbtn:hover |
|||
{ |
|||
background: url(images/features/help-over.gif) no-repeat; |
|||
} |
|||
a.chosen#helpbtn |
|||
{ |
|||
background: url(images/features/help-select.gif) no-repeat; |
|||
} |
|||
/* forum button */ |
|||
a#forumbtn |
|||
{ |
|||
background: url(images/features/forum.gif) no-repeat; |
|||
} |
|||
a#forumbtn:hover |
|||
{ |
|||
background: url(images/features/forum-over.gif) no-repeat; |
|||
} |
|||
a.chosen#forumbtn |
|||
{ |
|||
background: url(images/features/forum-select.gif) no-repeat; |
|||
} |
|||
/* search button */ |
|||
a#searchbtn |
|||
{ |
|||
background: url(images/features/search.gif) no-repeat; |
|||
} |
|||
a#searchbtn:hover |
|||
{ |
|||
background: url(images/features/search-over.gif) no-repeat; |
|||
} |
|||
a.chosen#searchbtn |
|||
{ |
|||
background: url(images/features/search-select.gif) no-repeat; |
|||
} |
|||
/* profile button */ |
|||
a#profilebtn |
|||
{ |
|||
background: url(images/features/profile.gif) no-repeat; |
|||
} |
|||
a#profilebtn:hover |
|||
{ |
|||
background: url(images/features/profile-over.gif) no-repeat; |
|||
} |
|||
a.chosen#profilebtn |
|||
{ |
|||
background: url(images/features/profile-select.gif) no-repeat; |
|||
} |
|||
/* admin button */ |
|||
a#adminbtn |
|||
{ |
|||
background: url(images/features/admin.gif) no-repeat; |
|||
} |
|||
a#adminbtn:hover |
|||
{ |
|||
background: url(images/features/admin-over.gif) no-repeat; |
|||
} |
|||
a.chosen#adminbtn |
|||
{ |
|||
background: url(images/features/admin-select.gif) no-repeat; |
|||
} |
|||
/* pm button */ |
|||
a#pmbtn |
|||
{ |
|||
background: url(images/features/pm.gif) no-repeat; |
|||
} |
|||
a#pmbtn:hover |
|||
{ |
|||
background: url(images/features/pm-over.gif) no-repeat; |
|||
} |
|||
a.chosen#pmbtn |
|||
{ |
|||
background: url(images/features/pm-select.gif) no-repeat; |
|||
} |
|||
/* calendar button */ |
|||
a#calendarbtn |
|||
{ |
|||
background: url(images/features/calendar.gif) no-repeat; |
|||
} |
|||
a#calendarbtn:hover |
|||
{ |
|||
background: url(images/features/calendar-over.gif) no-repeat; |
|||
} |
|||
a.chosen#calendarbtn |
|||
{ |
|||
background: url(images/features/calendar-select.gif) no-repeat; |
|||
} |
|||
/* register button */ |
|||
a#registerbtn |
|||
{ |
|||
background: url(images/features/register.gif) no-repeat; |
|||
} |
|||
a#registerbtn:hover |
|||
{ |
|||
background: url(images/features/register-over.gif) no-repeat; |
|||
} |
|||
a.chosen#registerbtn |
|||
{ |
|||
background: url(images/features/register-select.gif) no-repeat; |
|||
} |
|||
/* login button */ |
|||
a#loginbtn |
|||
{ |
|||
background: url(images/features/login.gif) no-repeat; |
|||
} |
|||
a#loginbtn:hover |
|||
{ |
|||
background: url(images/features/login-over.gif) no-repeat; |
|||
} |
|||
a.chosen#loginbtn |
|||
{ |
|||
background: url(images/features/login-select.gif) no-repeat; |
|||
} |
|||
/* logout button */ |
|||
a#logoutbtn |
|||
{ |
|||
background: url(images/features/logout.gif) no-repeat; |
|||
} |
|||
a#logoutbtn:hover |
|||
{ |
|||
background: url(images/features/logout-over.gif) no-repeat; |
|||
} |
|||
a.chosen#logoutbtn |
|||
{ |
|||
background: url(images/features/logout-select.gif) no-repeat; |
|||
} |
|||
/* shop button */ |
|||
a#shopbtn |
|||
{ |
|||
background: url(images/features/shop.gif) no-repeat; |
|||
} |
|||
a#shopbtn:hover |
|||
{ |
|||
background: url(images/features/shop-over.gif) no-repeat; |
|||
} |
|||
a.chosen#shopbtn |
|||
{ |
|||
background: url(images/features/shop-select.gif) no-repeat; |
|||
} |
|||
/* arcade button */ |
|||
a#arcadebtn |
|||
{ |
|||
background: url(images/features/arcade.gif) no-repeat; |
|||
} |
|||
a#arcadebtn:hover |
|||
{ |
|||
background: url(images/features/arcade-over.gif) no-repeat; |
|||
} |
|||
a.chosen#arcadebtn |
|||
{ |
|||
background: url(images/features/arcade-select.gif) no-repeat; |
|||
} |
|||
/* gallery button */ |
|||
a#gallerybtn |
|||
{ |
|||
background: url(images/features/gallery.gif) no-repeat; |
|||
} |
|||
a#gallerybtn:hover |
|||
{ |
|||
background: url(images/features/gallery-over.gif) no-repeat; |
|||
} |
|||
a.chosen#gallerybtn |
|||
{ |
|||
background: url(images/features/gallery-select.gif) no-repeat; |
|||
} |
|||
|
|||
#myuser |
|||
{ |
|||
font-size: small; |
|||
padding-bottom: 1em; |
|||
} |
|||
#ava |
|||
{ |
|||
float: right; |
|||
margin-right: 10px; |
|||
text-align: right; |
|||
font-family: "Comic Sans MS", sans-serif; |
|||
} |
|||
#bodyarea |
|||
{ |
|||
border-bottom: solid 1px #ddd; |
|||
margin-bottom: 1em; |
|||
padding-bottom: 1em; |
|||
} |
|||
.clearfix:after |
|||
{ |
|||
content: "."; |
|||
display: block; |
|||
height: 0; |
|||
clear: both; |
|||
visibility: hidden; |
|||
} |
|||
|
|||
.clearfix |
|||
{ |
|||
display: inline-block; |
|||
} |
|||
|
|||
/* Hides from IE-mac \*/ |
|||
* html .clearfix , * html .catbg, * html .catbg2, * html .catbg3 |
|||
{ |
|||
height: 1%; |
|||
} |
|||
/* End hide from IE-mac */ |
|||
|
|||
ul#topmenu |
|||
{ |
|||
position: absolute; |
|||
top: 45px; |
|||
margin: 0 195px 0 40px; |
|||
padding: 0 5px 4px 5px; |
|||
list-style: none; |
|||
font-weight: bold; |
|||
font-size: 11px; |
|||
border-bottom: groove 2px #EDF4ED; |
|||
} |
|||
ul#topmenu li |
|||
{ |
|||
float: left; |
|||
} |
|||
ul#topmenu li a |
|||
{ |
|||
display: block; |
|||
padding: 2px 5px 2px 5px; |
|||
border-style: solid solid; |
|||
border-width: 0px 1px; |
|||
border-color: #E3E6E1; |
|||
font-size: 11px; |
|||
color: #004080; |
|||
} |
|||
ul#topmenu li a:hover |
|||
{ |
|||
background: #E3E6E1; |
|||
text-decoration: none; |
|||
color: #E78E13; |
|||
} |
|||
#pages |
|||
{ |
|||
padding-top: 1em; |
|||
} |
|||
#uppersection |
|||
{ |
|||
padding: 1em; |
|||
background: url(images/img/upper.jpg) repeat-x; |
|||
} |
|||
.errorbar |
|||
{ |
|||
color: white; |
|||
font-size: xx-small; |
|||
text-align: center; |
|||
padding: 3px; |
|||
border-bottom: solid 1px black; |
|||
} |
|||
#errorpanel |
|||
{ |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
z-index: 90; |
|||
width: 100%; |
|||
} |
@ -0,0 +1,87 @@ |
|||
package gr.thmmy.mthmmy.utils; |
|||
|
|||
import android.content.Context; |
|||
import android.graphics.Bitmap; |
|||
import android.graphics.Bitmap.Config; |
|||
import android.graphics.Canvas; |
|||
import android.graphics.Paint; |
|||
import android.graphics.PorterDuff.Mode; |
|||
import android.graphics.PorterDuffXfermode; |
|||
import android.graphics.Rect; |
|||
import android.graphics.RectF; |
|||
import android.graphics.drawable.BitmapDrawable; |
|||
import android.util.AttributeSet; |
|||
|
|||
import com.android.volley.toolbox.NetworkImageView; |
|||
|
|||
public class CircularNetworkImageView extends NetworkImageView { |
|||
private static final int THUMBNAIL_SIZE = 100; |
|||
Context mContext; |
|||
|
|||
public CircularNetworkImageView(Context context) { |
|||
super(context); |
|||
mContext = context; |
|||
} |
|||
|
|||
public CircularNetworkImageView(Context context, AttributeSet attrs) { |
|||
this(context, attrs, 0); |
|||
mContext = context; |
|||
} |
|||
|
|||
public CircularNetworkImageView(Context context, AttributeSet attrs, |
|||
int defStyle) { |
|||
super(context, attrs, defStyle); |
|||
mContext = context; |
|||
} |
|||
|
|||
public static Bitmap scaleDown(Bitmap realImage, float maxImageSize, |
|||
boolean filter) { |
|||
float ratio = Math.min( |
|||
maxImageSize / realImage.getWidth(), |
|||
maxImageSize / realImage.getHeight()); |
|||
int width = Math.round(ratio * realImage.getWidth()); |
|||
int height = Math.round(ratio * realImage.getHeight()); |
|||
|
|||
return Bitmap.createScaledBitmap(realImage, width, |
|||
height, filter); |
|||
} |
|||
|
|||
@Override |
|||
public void setImageBitmap(Bitmap bm) { |
|||
if(bm==null) return; |
|||
setImageDrawable(new BitmapDrawable(mContext.getResources(), |
|||
getCircularBitmap(bm))); |
|||
} |
|||
|
|||
/** |
|||
* Creates a circular bitmap and uses whichever dimension is smaller to determine the width |
|||
* <br/>Also constrains the circle to the leftmost part of the image |
|||
* |
|||
* @param bitmap |
|||
* @return bitmap |
|||
*/ |
|||
public Bitmap getCircularBitmap(Bitmap bitmap) { |
|||
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), |
|||
bitmap.getHeight(), Config.ARGB_8888); |
|||
Canvas canvas = new Canvas(output); |
|||
int width = bitmap.getWidth(); |
|||
if(bitmap.getWidth()>bitmap.getHeight()) |
|||
width = bitmap.getHeight(); |
|||
final int color = 0xff424242; |
|||
final Paint paint = new Paint(); |
|||
final Rect rect = new Rect(0, 0, width, width); |
|||
final RectF rectF = new RectF(rect); |
|||
final float roundPx = width / 2; |
|||
|
|||
paint.setAntiAlias(true); |
|||
canvas.drawARGB(0, 0, 0, 0); |
|||
paint.setColor(color); |
|||
canvas.drawRoundRect(rectF, roundPx, roundPx, paint); |
|||
|
|||
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); |
|||
canvas.drawBitmap(bitmap, rect, rect, paint); |
|||
|
|||
output = scaleDown(output, THUMBNAIL_SIZE, true); |
|||
return output; |
|||
} |
|||
} |
@ -0,0 +1,63 @@ |
|||
package gr.thmmy.mthmmy.utils; |
|||
|
|||
import android.app.Application; |
|||
import android.text.TextUtils; |
|||
|
|||
import com.android.volley.Request; |
|||
import com.android.volley.RequestQueue; |
|||
import com.android.volley.toolbox.ImageLoader; |
|||
import com.android.volley.toolbox.Volley; |
|||
|
|||
public class ImageController extends Application { |
|||
|
|||
public static final String TAG = ImageController.class.getSimpleName(); |
|||
private static ImageController mInstance; |
|||
private RequestQueue mRequestQueue; |
|||
private ImageLoader mImageLoader; |
|||
|
|||
public static synchronized ImageController getInstance() { |
|||
return mInstance; |
|||
} |
|||
|
|||
@Override |
|||
public void onCreate() { |
|||
super.onCreate(); |
|||
mInstance = this; |
|||
} |
|||
|
|||
public RequestQueue getRequestQueue() { |
|||
if (mRequestQueue == null) { |
|||
mRequestQueue = Volley.newRequestQueue(getApplicationContext()); |
|||
} |
|||
|
|||
return mRequestQueue; |
|||
} |
|||
|
|||
public ImageLoader getImageLoader() { |
|||
getRequestQueue(); |
|||
if (mImageLoader == null) { |
|||
mImageLoader = new ImageLoader(this.mRequestQueue, |
|||
new LruBitmapCache()); |
|||
} |
|||
return this.mImageLoader; |
|||
} |
|||
|
|||
public <T> void addToRequestQueue(Request<T> req, String tag) { |
|||
// set the default tag if tag is empty
|
|||
req.setTag(TextUtils.isEmpty(tag) ? TAG : tag); |
|||
getRequestQueue().add(req); |
|||
} |
|||
|
|||
public <T> void addToRequestQueue(Request<T> req) { |
|||
req.setTag(TAG); |
|||
getRequestQueue().add(req); |
|||
} |
|||
|
|||
public void cancelPendingRequests(Object tag) { |
|||
if (mRequestQueue != null) { |
|||
mRequestQueue.cancelAll(tag); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
@ -0,0 +1,41 @@ |
|||
package gr.thmmy.mthmmy.utils; |
|||
|
|||
import android.graphics.Bitmap; |
|||
import android.support.v4.util.LruCache; |
|||
|
|||
import com.android.volley.toolbox.ImageLoader.ImageCache; |
|||
|
|||
class LruBitmapCache extends LruCache<String, Bitmap> implements |
|||
ImageCache { |
|||
private static final int CACHE_SIZE_DIVIDER = 8; |
|||
|
|||
LruBitmapCache() { |
|||
this(getDefaultLruCacheSize()); |
|||
} |
|||
|
|||
private LruBitmapCache(int sizeInKiloBytes) { |
|||
super(sizeInKiloBytes); |
|||
} |
|||
|
|||
private static int getDefaultLruCacheSize() { |
|||
final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); |
|||
final int cacheSize = maxMemory / CACHE_SIZE_DIVIDER; |
|||
|
|||
return cacheSize; |
|||
} |
|||
|
|||
@Override |
|||
protected int sizeOf(String key, Bitmap value) { |
|||
return value.getRowBytes() * value.getHeight() / 1024; |
|||
} |
|||
|
|||
@Override |
|||
public Bitmap getBitmap(String url) { |
|||
return get(url); |
|||
} |
|||
|
|||
@Override |
|||
public void putBitmap(String url, Bitmap bitmap) { |
|||
put(url, bitmap); |
|||
} |
|||
} |
@ -0,0 +1,8 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
<translate |
|||
android:duration="500" |
|||
android:fromXDelta="-100%p" |
|||
android:toXDelta="0" /> |
|||
|
|||
</set> |
@ -0,0 +1,8 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
<translate |
|||
android:duration="500" |
|||
android:fromXDelta="0" |
|||
android:toXDelta="100%p" /> |
|||
|
|||
</set> |
@ -0,0 +1,8 @@ |
|||
<!-- drawable/page_first.xml --> |
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:width="24dp" |
|||
android:height="24dp" |
|||
android:viewportHeight="24" |
|||
android:viewportWidth="24"> |
|||
<path android:fillColor="#000" android:pathData="M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z" /> |
|||
</vector> |
@ -0,0 +1,8 @@ |
|||
<!-- drawable/page_last.xml --> |
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:width="24dp" |
|||
android:height="24dp" |
|||
android:viewportHeight="24" |
|||
android:viewportWidth="24"> |
|||
<path android:fillColor="#000" android:pathData="M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z" /> |
|||
</vector> |
@ -0,0 +1,8 @@ |
|||
<!-- drawable/page_next.xml --> |
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:width="24dp" |
|||
android:height="24dp" |
|||
android:viewportHeight="24" |
|||
android:viewportWidth="24"> |
|||
<path android:fillColor="#000" android:pathData="M16,18H18V6H16M6,18L14.5,12L6,6V18Z" /> |
|||
</vector> |
@ -0,0 +1,8 @@ |
|||
<!-- drawable/page_previous.xml --> |
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:width="24dp" |
|||
android:height="24dp" |
|||
android:viewportHeight="24" |
|||
android:viewportWidth="24"> |
|||
<path android:fillColor="#000" android:pathData="M6,18V6H8V18H6M9.5,12L18,6V18L9.5,12Z" /> |
|||
</vector> |
@ -1,34 +1,34 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
xmlns:tools="http://schemas.android.com/tools" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto" |
|||
xmlns:tools="http://schemas.android.com/tools" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:background="@color/background" |
|||
tools:context="gr.thmmy.mthmmy.activities.TopicActivity"> |
|||
|
|||
|
|||
<view |
|||
class="gr.thmmy.mthmmy.utils.CustomRecyclerView" |
|||
android:id="@+id/list" |
|||
android:id="@+id/posts_list" |
|||
android:name="gr.thmmy.mthmmy.activities.Topic" |
|||
class="gr.thmmy.mthmmy.utils.CustomRecyclerView" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:paddingTop="4dp" |
|||
android:paddingBottom="4dp" |
|||
android:layout_alignParentTop="true" |
|||
android:clipToPadding="false" |
|||
android:background="@color/white" |
|||
android:paddingBottom="4dp" |
|||
android:paddingTop="4dp" |
|||
app:layoutManager="LinearLayoutManager" |
|||
tools:context="gr.thmmy.mthmmy.activities.TopicActivity" |
|||
tools:listitem="@layout/activity_topic_post_row" /> |
|||
tools:listitem="@layout/activity_topic_post_row"/> |
|||
|
|||
<ProgressBar |
|||
android:visibility="invisible" |
|||
android:id="@+id/progressBar" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:id="@+id/progressBar" |
|||
android:layout_centerHorizontal="true" |
|||
android:layout_centerVertical="true" |
|||
android:layout_centerHorizontal="true" /> |
|||
|
|||
android:visibility="invisible"/> |
|||
</RelativeLayout> |
|||
|
|||
|
|||
|
@ -1,111 +1,104 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical" |
|||
android:paddingEnd="4dp" |
|||
android:paddingStart="4dp"> |
|||
|
|||
<android.support.v7.widget.CardView |
|||
xmlns:card_view="http://schemas.android.com/apk/res-auto" |
|||
android:id="@+id/card_view" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:layout_marginBottom="5dp"> |
|||
android:layout_gravity="center" |
|||
android:foreground="?android:attr/selectableItemBackground" |
|||
card_view:cardBackgroundColor="@color/white" |
|||
card_view:cardCornerRadius="0dp" |
|||
card_view:cardElevation="2dp" |
|||
card_view:cardPreventCornerOverlap="true" |
|||
card_view:cardUseCompatPadding="true"> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical" |
|||
android:padding="5dp"> |
|||
|
|||
<TextView |
|||
<RelativeLayout |
|||
android:id="@+id/header" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent"> |
|||
|
|||
<FrameLayout |
|||
android:id="@+id/thumbnail_holder" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_alignParentTop="true" |
|||
android:layout_alignParentLeft="true" |
|||
android:layout_alignParentStart="true" |
|||
android:text="Author" |
|||
android:id="@+id/author" /> |
|||
android:layout_centerVertical="true" |
|||
android:layout_marginBottom="3dp" |
|||
android:layout_marginTop="3dp"> |
|||
|
|||
<TextView |
|||
<gr.thmmy.mthmmy.utils.CircularNetworkImageView |
|||
android:id="@+id/thumbnail" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_alignBaseline="@+id/author" |
|||
android:layout_alignParentRight="true" |
|||
android:layout_alignParentEnd="true" |
|||
android:text="DateTime" |
|||
android:id="@+id/dateTime" /> |
|||
|
|||
<WebView |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:id="@+id/content" |
|||
android:layout_below="@+id/author" |
|||
android:layout_alignRight="@+id/dateTime" |
|||
android:layout_alignEnd="@+id/dateTime" /> |
|||
</RelativeLayout> |
|||
|
|||
<!--<?xml version="1.0" encoding="utf-8"?>--> |
|||
<!--<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"--> |
|||
<!--xmlns:app="http://schemas.android.com/apk/res-auto"--> |
|||
<!--android:layout_width="wrap_content"--> |
|||
<!--android:layout_height="wrap_content"--> |
|||
<!--android:paddingEnd="4dp"--> |
|||
<!--android:paddingStart="4dp"--> |
|||
<!--android:orientation="vertical"--> |
|||
<!--android:background="@color/white">--> |
|||
|
|||
<!--<android.support.v7.widget.CardView--> |
|||
<!--xmlns:card_view="http://schemas.android.com/apk/res-auto"--> |
|||
<!--android:id="@+id/card_view"--> |
|||
<!--android:layout_gravity="center"--> |
|||
<!--android:layout_width="match_parent"--> |
|||
<!--android:layout_height="wrap_content"--> |
|||
<!--android:foreground="?android:attr/selectableItemBackground"--> |
|||
<!--card_view:cardCornerRadius="0dp"--> |
|||
<!--card_view:cardBackgroundColor="@color/white"--> |
|||
<!--card_view:cardElevation="2dp"--> |
|||
<!--card_view:cardPreventCornerOverlap="true"--> |
|||
<!--card_view:cardUseCompatPadding="true">--> |
|||
|
|||
<!--<RelativeLayout--> |
|||
<!--android:layout_width="wrap_content"--> |
|||
<!--android:layout_height="wrap_content"--> |
|||
<!--android:paddingTop="6dp"--> |
|||
<!--android:paddingBottom="6dp"--> |
|||
<!--android:paddingLeft="10dp"--> |
|||
<!--android:paddingRight="10dp"--> |
|||
<!--android:layout_alignParentTop="true">--> |
|||
|
|||
<!--<TextView--> |
|||
<!--android:id="@+id/username"--> |
|||
<!--android:layout_width="match_parent"--> |
|||
<!--android:layout_height="wrap_content"--> |
|||
<!--android:layout_alignParentTop="true"--> |
|||
<!--android:layout_alignParentLeft="true"--> |
|||
<!--android:layout_alignParentStart="true"--> |
|||
<!--android:textAppearance="?attr/textAppearanceListItem"--> |
|||
<!--android:textColor="@color/md_grey_500" />--> |
|||
<!--<Space--> |
|||
<!--android:id="@+id/spacer"--> |
|||
<!--android:layout_below="@+id/username"--> |
|||
<!--android:layout_width="match_parent"--> |
|||
<!--android:layout_height="20dp"--> |
|||
<!--android:layout_alignParentBottom="@+id/username"--> |
|||
<!--android:layout_toRightOf="@+id/dateTime"--> |
|||
<!--android:layout_toEndOf="@+id/dateTime"/>--> |
|||
|
|||
<!--<TextView--> |
|||
<!--android:id="@+id/content"--> |
|||
<!--android:layout_below="@+id/spacer"--> |
|||
<!--android:layout_width="match_parent"--> |
|||
<!--android:layout_height="wrap_content"--> |
|||
<!--android:textAppearance="?attr/textAppearanceListItem"--> |
|||
<!--android:textColor="@color/md_grey_500" />--> |
|||
|
|||
<!--<TextView--> |
|||
<!--android:id="@+id/dateTime"--> |
|||
<!--android:layout_width="wrap_content"--> |
|||
<!--android:layout_height="wrap_content"--> |
|||
<!--android:layout_below="@+id/spacer"--> |
|||
<!--android:layout_alignParentLeft="true"--> |
|||
<!--android:layout_alignParentStart="true"--> |
|||
<!--android:textColor="@color/md_grey_500"/>--> |
|||
|
|||
|
|||
|
|||
android:adjustViewBounds="false" |
|||
android:maxHeight="60dp" |
|||
android:maxWidth="60dp" |
|||
android:paddingEnd="2dp" |
|||
android:paddingLeft="2dp" |
|||
android:paddingRight="5dp" |
|||
android:paddingStart="2dp"/> |
|||
</FrameLayout> |
|||
|
|||
<TextView |
|||
android:id="@+id/username" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_alignParentTop="true" |
|||
android:layout_toEndOf="@+id/thumbnail_holder" |
|||
android:layout_toRightOf="@+id/thumbnail_holder" |
|||
android:text="sometext" |
|||
android:textStyle="bold"/> |
|||
|
|||
<!--</RelativeLayout>--> |
|||
<TextView |
|||
android:id="@+id/subject" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_below="@+id/username" |
|||
android:layout_toEndOf="@+id/thumbnail_holder" |
|||
android:layout_toRightOf="@+id/thumbnail_holder" |
|||
android:text="sometext"/> |
|||
|
|||
<!--</android.support.v7.widget.CardView>--> |
|||
</RelativeLayout> |
|||
|
|||
<View |
|||
android:id="@+id/divider" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="1dp" |
|||
android:layout_marginBottom="9dp" |
|||
android:layout_marginLeft="8dp" |
|||
android:layout_marginRight="8dp" |
|||
android:layout_marginTop="3dp" |
|||
android:background="@color/divider"/> |
|||
|
|||
<FrameLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent"> |
|||
|
|||
<!--</LinearLayout>--> |
|||
<WebView |
|||
android:id="@+id/post" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center" |
|||
android:layout_marginLeft="8dp" |
|||
android:layout_marginRight="8dp" |
|||
android:background="@color/white" |
|||
android:text="sometext" |
|||
/> |
|||
</FrameLayout> |
|||
</LinearLayout> |
|||
</android.support.v7.widget.CardView> |
|||
</LinearLayout> |
|||
|
|||
|
@ -0,0 +1,14 @@ |
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content"> |
|||
|
|||
<EditText |
|||
android:id="@+id/select_page" |
|||
android:layout_width="50dp" |
|||
android:layout_height="match_parent" |
|||
android:imeOptions="actionGo" |
|||
android:inputType="number|textNoSuggestions" |
|||
android:textAlignment="center" |
|||
android:textColor="@color/white" |
|||
android:textSize="20sp"/> |
|||
</LinearLayout> |
@ -1,30 +1,17 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<resources> |
|||
<!--Teal-Indigo--> |
|||
<!--<color name="primary">#009688</color> |
|||
<color name="primary_dark">#00796B</color> |
|||
<color name="primary_light">#B2DFDB</color> |
|||
<color name="accent">#536DFE</color> |
|||
<color name="primary_text">#E7E7E7</color> |
|||
<color name="secondary_text">#757575</color>--> |
|||
|
|||
<!--Indigo-Teal--> |
|||
<!--Indigo--> |
|||
<color name="primary">#3F51B5</color> |
|||
<color name="primary_dark">#303F9F</color> |
|||
<color name="primary_light">#C5CAE9</color> |
|||
<color name="accent">#FFFFFF</color> |
|||
<color name="primary_text">#E7E7E7</color> |
|||
<color name="secondary_text">#757575</color> |
|||
<color name="card_background">#FFFFFF</color> |
|||
<color name="divider">#8B8B8B</color> |
|||
|
|||
<color name="transparent">#00000000</color> |
|||
<color name="white">#ffffff</color> |
|||
<color name="iron">#CCCCCC</color> |
|||
<color name="background">#616161</color> |
|||
|
|||
<color name="myColor1">#ffb74d</color> |
|||
<color name="myColor2">#1e88e5</color> |
|||
<color name="myColor3">#f57f17</color> |
|||
<color name="myColor4">#7e57c2</color> |
|||
<color name="myColor5">#388e3c</color> |
|||
<color name="myColor6">#d32f2f</color> |
|||
<color name="background">#D3D3D3</color> |
|||
</resources> |
|||
|
Loading…
Reference in new issue