Search Results

Search found 18943 results on 758 pages for 'symbolic link'.

Page 198/758 | < Previous Page | 194 195 196 197 198 199 200 201 202 203 204 205  | Next Page >

  • problem with tinymce textarea in dynamically added jquery tabs

    - by kranthi
    I have an aspx page(Default1.aspx),in which i have a static jquery tab and anchor tag upon clicking the anchor tag(Add Tab) I am adding new tab dynamically,which gets its contents loaded from another aspx page(Default2.aspx).This second page contains some text inside a tag,a textarea with 'tinymce' class which is placed inside a div with 'style="display:none" ' and this textarea gets displayed only upon clicking the edit button on that page. The HTML of Default1.aspx page looks like this. <head runat="server"> <title>Untitled Page</title> <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="js/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script> <link href="css/custom-theme/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" /> <link href="css/widgets.css" rel="stylesheet" type="text/css" /> <link href="css/print.css" rel="stylesheet" type="text/css" /> <link href="css/reset.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/tiny_mce/jquery.tinymce.js"></script> <script type="text/javascript"> $(function() { //DECLARE FUNCTION: removetab var removetab = function(tabselector, index) { $(".removetab").click(function(){ $(tabselector).tabs('remove',index); }); }; //create tabs $("#tabs").tabs({ add: function(event, ui) { //select newely opened tab $(this).tabs('select',ui.index); //load function to close tab removetab($(this), ui.index); }, show: function(event, ui) { if($.fn.tinymce) { $('textarea.tinymce').tinymce({ // Location of TinyMCE script script_url : 'js/tiny_mce/tiny_mce.js', // General options theme : "advanced", plugins : "safari,style,layer,table,advhr,advimage,advlink,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template", // Theme options theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,bullist,numlist,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "sub,sup,|,ltr,rtl,|,fullscreen", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left" /*theme_advanced_statusbar_location : "bottom",*/ /*theme_advanced_resizing : true,*/ }); } //load function to close selected tabs removetab($(this), ui.index); } }); //load new tab $(".addtab").click(function(){ var href=$(this).attr("href"); var title=$(this).attr("title"); $("#tabs").tabs( 'add' , href , title+' <span class="removetab ui-icon ui-icon-circle-close" style="float:right; margin: -2px -10px 0px 3px; cursor:pointer;"></span>'); return false; }); }); function showEditFields(){ $('.edit').css('display','inline'); } </script> </head> <body> <form id="form1" runat="server"> <div> <a class="addtab" title="Tab Label" href="HTMLPage.htm">Add Tab</a> <div id="tabs"> <ul> <li><a href="#tabs-1">Default Tab</a></li> </ul> <div id="tabs-1"> <p>Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante.sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p> </div> </div> </div> </form> </body> and the HTML of Default2.aspx looks like this. <head> </head> <body> <form id="form1" runat="server"> <div class="demo"> <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus. <div class="edit" style="display:none"> <textarea style="height:80px; width:100%" class="tinymce" name="" rows="8" runat="server" id="txtans">answer text goes here </textarea> </div> <input id="Button1" type="button" value="edit" onclick="showEditFields();" /> </p> </form> </body> so when I click on the "edit" button available on Default2.aspx ,the textarea with tinymce should appear and I can add as many tabs as I want from Default1.aspx by clicking on Add Tab(anchor) which loads multiple tabs with content from Default2.aspx.After adding these multiple tabs ,if I check to see whether all the textareas are with tinymce,I noticed that only the 1st tab contains textarea with tinymce and in all the other tabs tinymce doesnt show up ,simply the normal text area appears. Could someone please help me with this? Thanks.

    Read the article

  • Using ptrace to generate a stack dump

    - by Gomez
    Hello. I am compiling C++ on *nix and I would like to generate a stack dump a) at an arbitrary point in the program, b) during any signal, particularly during SIGSEGV. Google tells me that ptrace is probably the tool for the job, but I can't find any comprehensible examples of walking the stack. Getting the return address, yeah, but what about the NEXT return address? And what about extracting the symbolic name of the function at that point? Something to do with DWARF? Many thanks if you can tell me where to go from here.

    Read the article

  • Apache2 several sites and configuration question

    - by Hellnar
    Hello I want to host several sites from my VPS via apache2 under Debian. For this I removed the default from sites-enabled and added this under /etc/apache/sites-enabled/www.mysite.com : NameVirtualHost *:80 <VirtualHost *:80> ServerName mysite.com ServerAlias www.mysite.com Alias /media/ /home/myuser/mysite/media/ Alias /admin_media/ /home/myuser/django/Django-1.2/django/contrib/admin/media/ WSGIScriptAlias / /home/myuser/mysite/wsgi.py ErrorLog /home/myuser/mysite/logs/error.log CustomLog /home/myuser/mysite/logs/access.log combined </VirtualHost> After that I removed the default symbolic link from sites-enabled/ via: a2dissite default and added the new one: a2ensite www.mysite.com Still, I get this error: Restarting web server: apache2apache2: apr_sockaddr_info_get() failed for myuser apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [Sat May 29 11:41:13 2010] [warn] NameVirtualHost *:80 has no VirtualHosts apache2: apr_sockaddr_info_get() failed for myuser apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [Sat May 29 11:41:13 2010] [warn] NameVirtualHost *:80 has no VirtualHosts . What can be the problem ?

    Read the article

  • Given a string describing a Javascript function. convert it to a Javascript function

    - by brainjam
    Say I've got a Javascript string like the following var fnStr = "function(){blah1;blah2;blah3; }" ; (This may be from an expression the user has typed in, duly sanitized, or it may be the result of some symbolic computation. It really doesn't matter). I want to define fn as if the following line was in my code: var fn = function(){blah1;blah2;blah3; } ; How do I do that? The best I've come up with is the following: var fn = eval("var f = function(){ return "+fnStr+";}; f() ;") ; This seems to do the trick, even though it uses the dreaded eval(), and uses a slightly convoluted argument. Can I do better? I.e. either not use eval(), or supply it with a simpler argument?

    Read the article

  • Is there an easy way to get a list of all successful captures from a regex pre-5.10?

    - by Chas. Owens
    I know the right way to do this if I have Perl 5.10 is to use named captures and values %+, but in Perl 5.8.9 and how can I get a list of successful captures? I have come up with two methods that are both just terrible: #you need to list each possible match my @captures = grep { defined } ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16); and #ew, I turned on symbolic references { no strict 'refs'; my @captures = map { defined $+[$_] ? $$_ : () } 1 .. $#+; } There is a third option I have found involving (?{}), but it requires global variables (because the closure happens at compile time) and takes the regex from reasonably clear to ungodly mess. The only alternative I have found is to capture the whole match and then use another set of regexes to get the values I want (actually I build the first regex out of the other regexes because there is no good reason to duplicate the logic).

    Read the article

  • hp -ux remote cpio copy

    - by soField
    REMOTE SERVER remsh remoteserverhostname -l remoteusername find /tmp/a1/ | cpio -o > /tmp/paketr.cpio LOCAL SERVER rcp remoteserverhostname:/tmp/paketr.cpio /tmp/aaa cpio -idmv < /tmp/paketr.cpio i'am trying to get and create directory structure from remote server to local server i can do this with following command list but i wonder if i can do this with just one command by running cpio with pass-through mode remsh remoteserverhostname find /tmp/a1 | cpio -pd /tmp current </tmp/tmp/a1/b1/y1> newer current </tmp/tmp/a1/b1/z1> newer current </tmp/tmp/a1/b2/l2smc> newer "/tmp/a1/b3": No such file or directory Cannot stat </tmp/a1/b3>. 0 blocks so when i try to cpio -pd option , i am expecting it to create directories for me but it does not i was using rcp but its not preserving symbolic links :( what can i do ? hp-ux

    Read the article

  • Using PHP with the default Mac Apache + PHP installation

    - by Juan Medín
    Hi, I'm starting to unravel the mysteries of PHP and I configured the pre-installed Snow Leopard PHP and activated the Apache server in the system preferences. So far so good: it works if you put a PHP file in your ~/Sites directory. Since I've my projects in a code/projects directory I created a symbolic link from the ~/Sites dir to the code/projects/one-project/php-dir and bang!, a 403 error: access forbidden. I've been changing the permissions of the dirs to 777, but no luck. Is anyone using the default Snow Leoapard configuration for PHP development and if so, how do you link to your codebase? Thanks in advance, Juan

    Read the article

  • How do I avoid symlinks using an Ant FileSet?

    - by Will
    I have a directory tree that includes a symlink to . (the current directory). When I attempt to iterate over this using an Ant FileSet, I get the following error: Caught error while checking for symbolic links at org.apache.tools.ant.DirectoryScanner.causesIllegalSymlinkLoop(DirectoryScanner.java:1859) The code that I am using to generate the scanner is: FileSet files = new FileSet(); Project project = new Project(); project.setBasedir( dir ); files.setProject( project ); files.setDir( project.getBaseDir() ); files.getDirectoryScanner().setFollowSymlinks( false ); for( Iterator iter = files.iterator(); iter.hasNext(); ) {}

    Read the article

  • error echo id when i want to echo id for edit

    - by Prasanta Baidya
    I have a entry and edit page of a branch, I want echo id, when I mouse over into edit link in edit button, its show error,: branchedit.php?id=Note:Undefined index:id in line 101, but it work properly in localhost. error picture page link : https://www.dropbox.com/s/i1vu62lz3pezia0/id%20error.JPG My code: <?php include 'include/config.php'; include 'include/opendb.php'; include 'loginheader.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Branch</title> <!--Requered Validation --> <link rel="stylesheet" type="text/css" media="screen" href="jqueryvalidation/demo/css/screen.css" /> <script src="jqueryvalidation/jquery.js" type="text/javascript"></script> <script src="jqueryvalidation/jquery.validate.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $("#commentForm").validate(); }); </script> <!--End Requered Validation --> <style type="text/css"> <!-- body { background-color: #cccccc; } --> </style> <style type="text/css"> <!-- --> </style> <link href="css/usercss.css" rel="stylesheet" type="text/css" /> <style type="text/css"> <!-- .style7 { color: #000000; font-weight: bold; } .style8 {color: #FFFFFF} --> </style> </head> <body> <div id="container"> <table width="453" border="0" align="left" cellpadding="0" cellspacing="1"> <tr> <td width="451"><form name="cmxform" id="commentForm" method="post" action="insert_ac.php"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td colspan="3" class="style2">Insert Branch into Database </td> </tr> <tr> <td width="100" height="46">Branch Code</td> <td width="18">:</td> <td width="309"><input name="branch_code" type="text" id="branch_code" minlength="3" class="required"></td> </tr> <tr> <td height="51">Branch Name</td> <td>:</td> <td><input name="branch_name" type="text" id="branch_name" class="required" ></td> </tr> <tr> <td height="47" colspan="3" align="center"> <div align="right"> <input name="Submit" type="submit" class="submit_button" value="Submit" /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div></td> </tr> </table> </form></td> </tr> </table> <!--Branch List --> <?php $sql="SELECT * FROM dc_master"; $result=mysql_query($sql); ?> <table width="436" border="1" cellpadding="2" cellspacing="0" class="table" id="list"> <tr> <td colspan="4"><div align="center" class="style7">List of Branches </div></td> </tr> <tr class="style4" > <td width="87" align="center"><span class="style8">Branch Code</span></td> <td width="176" align="center" ><span class="style8">Branch Name</span></td> <td width="70" align="center" ><span class="style8">Edit</span></td> <td width="77" align="center" ><span class="style8">Delete</span></td> </tr> <?php while($rows=mysql_fetch_array($result)){ ?> <tr> <td height="28"><div align="center" class="style3"><?php echo $rows['branch_code']; ?></div></td> <td class="style3">&nbsp;&nbsp;&nbsp;<?php echo $rows['dc_name']; ?></td> <!--link to update.php and send value of id --> <td align="center"><a href="branchedit.php?id=<?php echo $rows['id']; ?>" class="style3 style5 style5">Edit</a></td> <td align="center"><a href="delete.php?id=<?php echo $rows['id']; ?>" class="style3 style5 style5" onclick="return confirm('Are you sure, you want to delete? (After delete you can not undo or get it again) <?php ?>')">Delete</a></td> </tr> <?php } ?> </table> <span class="footer">Programmer : Prasanta Baidya / Mobile : 09830980840 / Email id : [email protected]</span></div> <?php mysql_close(); ?> </body> </html>

    Read the article

  • Python os module path functions

    - by broiyan
    From the documentation: os.path.realpath(path) Return the canonical path of the specified filename, eliminating any symbolic links encountered in the path (if they are supported by the operating system). When I invoke this with an extant file's name, I get the path to it: /home/myhome/myproject. When I invoke this with a 'nonsense.xxx' string argument, I still get a path to /home/myhome/myproject/nonsense.xxx. This is a little inconsistent because it looks like nonsense.xxx is taken to be a directory not a file (though it is neither: it does not exist). When I invoke this with a null string file name, I still get a path to /home/myhome/myproject. How can I account for this behaviour when the documentation says so little about realpath()? (I am using Python 2.5.) Edit: Somebody suggested a way to test if files exist. My concern is not to test if files exist. My concern is to account for behaviour.

    Read the article

  • pgf/tikz: String Symbols as Input Coordinates

    - by red_lynx
    Hi all, I'm new to pgf so i was trying out some examples from the pgfplot manual. One example is especially relevant for my current task but, alas, it would not compile. Here is the code: \documentclass[11pt]{article} \usepackage{tikz} \usepackage{pgfplots} \begin{document} \begin{tikzpicture} \begin{axis}[symbolic x coords={a,b,c,d,e,f,g,h,i}] \addplot+[smooth] coordinates { (a,42) (b,50) (c,80) (f,60) (g,62) (i,90)}; \end{axis} \end{tikzpicture} \end{document} the compiler quits with the following error: ! Package PGF Math Error: Could not parse input 'a' as a floating point number, sorry. The unreadable part was near 'a'.. I have no clue how to correct this behavior. Other plots (smooth, scatter, bar), which contain only numerical data compile fine. Could anybody give me a hint? Cheers K.

    Read the article

  • feature extraction from acoustic signals

    - by Dolphin
    Hi everyone, It's been a while. I found APIs in Java for extracting features from acoustic audio files and symbolic files separately. But now I have a problem in mapping from low level wav audio features to high level midi features. i.e. I need to write the extracted wav audio features on to midi format. But I cannot think of anything even close to it. Can someone pls provide me some insight as in how I can approach this. Greatly appreciate your responses. Advance thanks

    Read the article

  • Is there any valid reason radians are used as the inputs to trig function in many modern languages?

    - by johnmortal
    Is there any pressing reason trig functions should use radian inputs in modern programming languages? As far as I know radians are typically ugly to deal with except in three cases: (1) You want to compute an arc length and you know the angle of the arc and (2) You need to do symbolic calculus with trig functions (3) certain infinite series expansion look prettier if the input is in radians. None of these scenarios seem like a worthy justification for every programming language I am familiar with using radian inputs for Sin, Cos, Tangent, etc... The third one sounds good because it might mean one gets faster computations using radians (very slightly faster- the cost of one additional floating point multiplication ) , but I am dubious even of that because most commonly the developer had to take an extra step to put the angle in radians in the first place. The other two are ridiculous justifications for all the added obscurity.

    Read the article

  • K&R Exercise 1-21 - Mental incomprehension.

    - by asdfg
    The "impossible" K&R exercise. "Write a program entab that replaces strings of blanks by the minimum number of tabs and blanks to achieve the same spacing. Use the same tab stops, say every n columns. Should n be a variable or a symbolic parameter?" The problem I'm having is, I'm unsure about how to even do this correctly. I know it's not very explanatory, but that's pretty much the problem here. Most of the examples I've seen have counted a number of blanks, and replaced those series with a tab, but this isn't what its asking, I reckon I understand what its asking, but currently feel unable to do this. Could anyone help :)

    Read the article

  • How does one write extconf.rb files when one extension includes header files from another?

    - by mohawkjohn
    This is a follow-up question for: Multiple Ruby modules under one directory What happens if these extensions include each other? For example, you have the following structure: ext/foo ext/bar In ext/bar/bar.h, you have a #include "foo.h" foo.h and foo.cpp compile to form foo.o, to make life a little more complicated. Finally, it is necessary that foo and bar be separate extensions. How is this managed? I can't figure out how to add ../foo to the search path for bar.h, primarily. Symbolic links seem hack-ish.

    Read the article

  • Non-deprecated replacement for NSCalibratedBlackColorSpace?

    - by uliwitness
    I'm implementing my own NSBitmapImageRep (to draw PBM image files). To draw them, I'm using NSDrawBitmap() and passing it the NSCalibratedBlackColorSpace (as the bits are 1 for black, 0 for white). Trouble is, I get the following warning: warning: 'NSCalibratedBlackColorSpace' is deprecated However, I couldn't find a good replacement for it. NSCalibratedWhiteColorSpace gives me an inverted image, and there seems to be no way to get NSDrawBitmap() to use a CGColorSpaceRef or NSColorSpace that I could create as a custom equivalent to NSCalibratedBlackColorSpace. I've found a (hacky) way to shut up the warning (so I can still build warning-free until a replacement becomes available) by just passing @"NSCalibratedBlackColorSpace" instead of the symbolic constant, but I'd rather apply a correct fix. Anybody have an idea?

    Read the article

  • Drupal: FileFields... internal server error

    - by Patrick
    hi, I've moved my drupal installation to new server and the website works. HOwever I get an "internal server error" for each file field in my nodes. In other words, images and videos are not loaded. In Firebug, Net Tab I can see they cannot be retrieved from the server because of "internal server error". The only thing I changed with respect to the previous installation is commenting the following 2 lines in .htaccess # Don't show directory listings for URLs which map to a directory. #Options -Indexes # Follow symbolic links in this directory. #Options +FollowSymLinks Is this the issue ? How can I solve this ? thanks

    Read the article

  • Java import from other directory

    - by heldopslippers
    Hi People! I am building a Enterprise Service Bus (ESB) with Java. I won't get into details But I have to build multiple servers who make use of the same classes. I have the following directory structure: /server1 -Main.java /server2 -Main.java /com -Database.java I want to import from the Main.java class for example the Database.class. But of course the following statements won't work: import com.Database; I am working with the javac compiler in the command line (so not eclipse stuff or whatever. just TextMate and the command line). And I found a (pretty stupid) solution by creating a symbolic link in the servers to the com directory. But that is not really an ideal solution. Does anybody have a better one?? THANXS in advanced!! :D

    Read the article

  • can i use perl to download files in a php script?

    - by jision
    i have a file sharing website made in php which gives users to download files.But as i am using a hosted server there is limitation on time out and other factors that come to play while for a download script coded in php. This causes large files to get corrupted while downloading. i am looking for a solution for this i have tried using symbolic links but the force download factor is not taking place.... i am thinking of using perl to download files bt dont have any clue what so ever.... can any one help me outwith this problem???

    Read the article

  • Drupal: does removing these lines from .htaccess cause security issues ?

    - by Patrick
    hi, I had to comment these lines from the htaccess files in my main Drupal folder and in sites folder # Don't show directory listings for URLs which map to a directory. #Options -Indexes # Follow symbolic links in this directory. #Options +FollowSymLinks ...in order to not get a 500 Internal Error on the new server. Can I leave them uncommented or am I going to have security issues ? ps. I've also set all content in files folder 777 permission. Is this ok ? thanks

    Read the article

  • SharePoint 2010 Center and Fixed Width of all content on page including the ribbon

    - by Bill Daugherty
    All, I am trying to make the width of the sharepoint 2010 web site to be within a fixed width and centered across the screen. I would like for it to be 800px and centered. When i do this, it seems like it starts to work until the ribbion bar renters. Here is my attempt so far: body.v4/* _lcid="1033" _version="14.0.4536" _LocalBinding */ body,form{ margin:0px; width:800px; text-align:center; vertical-align:middle; } .ms-toolbar{ font-family:verdana; font-size:8pt; text-decoration:none; /* [ReplaceColor(themeColor:"Hyperlink")] */ color:#0072BC; } a.ms-toolbar:hover{ text-decoration:underline; /* [ReplaceColor(themeColor:"Accent1",themeShade:"0.8")] */ color:#005e9a; } .ms-toolbar-togglebutton-on{ /* [ReplaceColor(themeColor:"Accent3-Darker")] */ border:1px solid #2353b2; /* [ReplaceColor(themeColor:"Accent4-Lightest")] */ background-color:#fffacc; } table.ms-toolbar{ height:45px; border:none; /* [RecolorImage(themeColor:"Light2",includeRectangle:{x:0,y:610,width:1,height:42})] */ background:url("/_layouts/images/bgximg.png") repeat-x -0px -610px; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#fff; } table.ms-toolbar{ /* [ReplaceColor(themeColor:"Light2-Lightest")] */ border:1px solid #f1f1f2; } .ms-menutoolbar{ /* [ReplaceColor(themeColor:"Light2-Lightest")] */ border-bottom:1px solid #f1f1f2; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#fff; /* [RecolorImage(themeColor:"Light2",includeRectangle:{x:0,y:610,width:1,height:42})] */ background:url("/_layouts/images/bgximg.png") repeat-x -0px -610px; height:45px; } .ms-menutoolbar td{ padding:0px 0px 0px 4px; margin:0px; border:none; } .ms-menutoolbar td a{ /* [ReplaceColor(themeColor:"Hyperlink")] */ color:#0072bc; font-size:8pt; font-family:verdana; text-decoration:none; } .ms-menutoolbar td a:hover{ /* [ReplaceColor(themeColor:"Hyperlink",themeShade:"0.82")] */ color:#005e9a; text-decoration:none; } .ms-menubuttoninactivehover,.ms-buttoninactivehover{ margin:3px; padding:3px 4px 4px 4px; border:1px solid transparent; background-color:transparent; white-space:nowrap; } .ms-menubuttonactivehover,.ms-buttonactivehover{ margin:3px; padding:3px 4px 4px 4px; /* [RecolorImage(themeColor:"Light1-Darkest",includeRectangle:{x:0,y:431,width:1,height:21})] */ background:url("/_layouts/images/bgximg.png") repeat-x -0px -431px; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#fff; /* [ReplaceColor(themeColor:"Light1-Lighter")] */ border:solid 1px #cccccc; cursor:pointer; } .ms-buttoninactivehover{ white-space:nowrap; } .ms-buttoninactivehover img,.ms-buttonactivehover img{ margin:0px 1px 0px 0px; } td.ms-menutoolbarheader{ font-size:10pt; font-family:verdana; /* [ReplaceColor(themeColor:"Accent3-Medium")] */ color:#204d89; font-weight:bold; line-height:16px; padding-left:7px; padding-right:7px; } .ms-listheaderlabel{ /* [ReplaceColor(themeColor:"Dark2")] */ color:#204d89; } .ms-listheaderlabel,.ms-viewselector,.ms-viewselectortext,.ms-viewselectorhover{ font-size:8pt; font-family:tahoma; } .ms-menutoolbar td td.ms-viewselector,.ms-menutoolbar td td.ms-viewselectorhover,.ms-toolbar td td.ms-viewselector,.ms-toolbar td td.ms-viewselectorhover,td.ms-viewselector{ /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; /* [ReplaceColor(themeColor:"Dark2-Medium")] */ border:1px solid #D3D6DA; font-weight:bold; padding:0px; } .ms-menutoolbar td td{ border:none; } div.ms-viewselector,div.ms-viewselectorhover{ padding:2px 4px 2px 4px; cursor:pointer; } div.ms-viewselector a,div.ms-viewselectorhover a.ms-menu-a span{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; } .ms-viewselector-arrow{ vertical-align:middle; } .ms-menutoolbar td td.ms-viewselectorhover,.ms-toolbar td td.ms-viewselectorhover{ /* [RecolorImage(themeColor:"Accent1",method:"Tinting",includeRectangle:{x:0,y:654,width:1,height:18})] */ background:url("/_layouts/images/bgximg.png") repeat-x -0px -654px; /* [ReplaceColor(themeColor:"Accent1-Lighter")] */ border-color:#91cdf2; /* [ReplaceColor(themeColor:"Accent1",themeTint:"0.35")] */ background-color:#ccebff; } .ms-bottompaging{ /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ background:#ebf3ff; } .ms-bottompagingline1{ height:3px; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; } .ms-bottompagingline2,.ms-bottompagingline3{ height:1px; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; } .ms-bottompaging .ms-vb{ /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; } .ms-bottompagingline2 img,.ms-bottompagingline3 img,.ms-partline img{ display:none; } .ms-paging{ padding-left:11px; padding-right:11px; padding-bottom:4px; font-family:tahoma,sans-serif; font-size:8pt; font-weight:normal; /* [ReplaceColor(themeColor:"Accent3-Darker")] */ color:#204d89; } .ms-bottompaging .ms-paging{ /* [ReplaceColor(themeColor:"Dark1-Medium")] */ color:#4c4c4c; } .ms-menutoolbar .ms-splitbuttondropdown{ padding:3px 2px 0px 2px; } .ms-menutoolbar .ms-splitbuttontext{ padding:0px 7px 1px 7px; } .ms-splitbutton{ margin:0px 2px; } .ms-splitbuttonhover{ margin:0px 2px; /* [RecolorImage(themeColor:"Accent6-Darker",method:"Tinting",includeRectangle:{x:0,y:431,width:1,height:21})] */ background:url("/_layouts/images/bgximg.png") repeat-x -0px -431px; border-collapse:collapse; height:22px; background-color:#fff; } .ms-splitbuttonhover .ms-splitbuttondropdown{ padding:3px 1px 0px 2px; } .ms-splitbuttonhover .ms-splitbuttontext{ padding:0px 6px 0px 6px; } .ms-splitbuttonhover .ms-splitbuttondropdown,.ms-splitbuttonhover .ms-splitbuttontext{ border:solid 1px #cccccc; cursor:pointer; } .ms-propertysheet { font-size:1em; } .ms-propertysheet th.ms-gridT1 { text-align:left; /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; width:190px; } .ms-viewselect a:link{ font-size:8pt; font-family:Verdana,sans-serif; /* [ReplaceColor(themeColor:"Accent3")] */ color:#003399; } select{ font-size:8pt; font-family:Verdana,sans-serif; } hr{ /* [ReplaceColor(themeColor:"Accent3")] */ color:#003399; height:2px; } .ms-input{ font-size:8pt; font-family:Verdana,sans-serif; } .ms-treeviewouter{ margin-top:5px; } .ms-quicklaunch table td{ /* [ReplaceColor(themeColor:"Accent3-Lighter")] */ border-top:1px solid #add1ff; } .ms-quicklaunch .ms-treeviewouter table td{ border-top:none; } .ms-quicklaunch table.ms-navheader td,.ms-quicklaunch span.ms-navheader{ padding:1px 4px 4px 4px; } div.ms-treeviewouter > div > div{ border:none; } .ms-quicklaunch span.ms-navheader{ /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ background-color:#d6e8ff; /* [ReplaceColor(themeColor:"Accent3-Lighter")] */ border-top:1px solid #add1ff; /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ border-left:solid 1px #f2f8ff; /* [ReplaceColor(themeColor:"Accent3-Lighter")] */ border-bottom:1px solid #add1ff; padding:1px 6px 3px 6px; } .ms-quicklaunch table.ms-navsubmenu2 td{ border:none; } .ms-quicklaunch table.ms-selectednavheader td{ width:100%; /* [ReplaceColor(themeColor:"Accent6-Lightest")] */ background-color:#fff699; } .ms-quicklaunch table.ms-selectednavheader{ border:none; } .ms-quicklaunch span{ display:block; } .ms-quicklaunch div.ms-navsubmenu1 br{ display:none; } .ms-quicklaunch table.ms-selectednav{ /* [ReplaceColor(themeColor:"Accent6-Darker")] */ border:solid 1px #d2b47a; /* [RecolorImage(themeColor:"Accent1",method:"Tinting")] */ background-image:url("/_layouts/images/selectednav.gif"); background-repeat:repeat-x; /* [ReplaceColor(themeColor:"Accent6-Lightest")] */ background-color:#ffe6a0; margin:2px; margin-bottom:0; width:97%; } .ms-quicklaunch table.ms-selectednav td{ background:transparent url("/_layouts/images/selectednavbullet.gif"); background-repeat:no-repeat; background-position:left top; /* [ReplaceColor(themeColor:"Light1")] */ border:solid 1px #ffffff; padding:0px 4px 1px 12px; margin:0px; } table.ms-selectednav td a.ms-selectednav{ background:none; /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; } .ms-quicklaunch table.ms-selectednavheader td{ width:100%; /* [ReplaceColor(themeColor:"Accent6-Lighter")] */ background-color:#ffe6a0; /* [RecolorImage(themeColor:"Accent1",method:"Tinting")] */ background-image:url("/_layouts/images/selectednav.gif"); background-repeat:repeat-x; padding-top:2px; padding-bottom:2px; /* [ReplaceColor(themeColor:"Light1")] */ border-top:solid 1px #ffffff; /* [ReplaceColor(themeColor:"Light1")] */ border-left:solid 1px #ffffff; padding:1px 6px 3px 6px; } .ms-selectednavheader a{ font-weight:bold; /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; text-decoration:none; } .ms-selectednavheader a:hover{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; text-decoration:underline; } table.ms-navitem td,span.ms-navitem{ background-image:url("/_layouts/images/navBullet.gif"); background-repeat:no-repeat; background-position:left top; padding:3px 6px 4px 16px; font-family:tahoma; } .ms-navsubmenu1{ width:100%; border-collapse:collapse; /* [ReplaceColor(themeColor:"Light1-Lightest")] */ background-color:#f2f8ff; } .ms-navsubmenu2{ width:100%; /* [ReplaceColor(themeColor:"Light1-Lightest")] */ background-color:#f2f8ff; margin-bottom:6px; } table.ms-navselected{ padding:2px; } table.ms-navselected,span.ms-navselected{ /* [RecolorImage(themeColor:"Accent6",method:"Tinting")] */ background-image:url("/_layouts/images/SELECTEDNAV.GIF"); /* [ReplaceColor(themeColor:"Accent6-Lighter")] */ background-color:#ffe6a0; background-repeat:repeat-x; } table.ms-navselected td{ background-image:url("/_layouts/images/navBullet.gif"); background-repeat:no-repeat; background-position:top left; padding:3px 6px 4px 17px; } table.ms-navheader td{ background-image:none; } .ms-navheader a{ font-weight:bold; /* [ReplaceColor(themeColor:"Accent3")] */ color:#003399; text-decoration:none; } .ms-navheader a:hover{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; text-decoration:underline; } .ms-navitem a{ /* [ReplaceColor(themeColor:"Dark2")] */ color:#3b4f65 !important; text-decoration:none; display:inline-block; } .ms-navitem a:hover{ /* [ReplaceColor(themeColor:"Accent1")] */ color:#44aff6 !important; text-decoration:underline !important; } .ms-quicklaunchouter{ border:none; margin-bottom:5px; } .ms-quicklaunchouter{ margin:0px 1px 2px 1px; } .ms-treeviewouter a.ms-navitem{ padding:4px 4px 5px; margin-left:4px; border-color:transparent; border-width:1px; border-style:solid !important; } .ms-tvselected a.ms-navitem{ /* [RecolorImage(themeColor:"Light1")] */ background:url("/_layouts/images/selbg.png") repeat-x left top; /* [ReplaceColor(themeColor:"Accent1",themeTint:"0.15")] */ background-color:#ccebff; /* [ReplaceColor(themeColor:"Accent1-Lighter")] */ border-color:#91cdf2; /* [ReplaceColor(themeColor:"Accent1-Lightest")] */ border-top-color:#c6e5f8; border-width:1px; border-style:solid !important; /* [ReplaceColor(themeColor:"Dark2")] */ color:#003759 !important; display:inline-block; } .ms-tvselected a:hover{ /* [ReplaceColor(themeColor:"Dark2")] */ color:#003759 !important; } table.ms-recyclebin td{ /* [ReplaceColor(themeColor:"Light1-Lightest")] */ background-color:#f2f8ff; width:100%; /* [ReplaceColor(themeColor:"Light1")] */ border-top:solid 1px #ffffff; /* [ReplaceColor(themeColor:"Light1")] */ border-left:solid 1px #ffffff; padding:3px 5px 7px 3px; } table.ms-recyclebin td a{ font-weight:bold; /* [ReplaceColor(themeColor:"Accent5-Darker")] */ color:#008800; text-decoration:none; } table.ms-recyclebin td a:hover{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; text-decoration:underline; } .ms-quickLaunch{ padding-top:5px; } .ms-quickLaunch h3{ font-size:1em; font-weight:normal; /* [ReplaceColor(themeColor:"Dark2")] */ color:#929fad; margin:0px 0px 6px 10px; } .ms-quicklaunchheader{ padding:2px 6px 4px 10px; font-weight:bold; /* [ReplaceColor(themeColor:"Light1-Lighter")] */ color:#676767; background-image:url("/_layouts/images/quickLaunchHeader.gif"); background-repeat:repeat-x; /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ background-color:#d6e8ff; /* [ReplaceColor(themeColor:"Light1-Lightest")] */ border-left:solid 1px #f2f8ff; margin-left:-7px; font-size:inherit; } .ms-quicklaunchheader a,.ms-unselectednav a{ /* [ReplaceColor(themeColor:"Dark1-Lighter")] */ color:#676767 !important; text-decoration:none; } .ms-quicklaunchheader a:hover{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000 !important; text-decoration:underline; } .ms-navline{ /* [ReplaceColor(themeColor:"Light1-Darker")] */ border-bottom:1px solid #adadad; } .ms-navwatermark{ /* [ReplaceColor(themeColor:"Accent6-Lighter")] */ color:#ffdf88; } .ms-selectednav{ border:1px solid #2353b2; /* [ReplaceColor(themeColor:"Accent6-Lightest")] */ background:#fff699; padding-top:1px; padding-bottom:2px; } .ms-unselectednav{ /* [ReplaceColor(themeColor:"Accent3-Medium")] */ border:1px solid #83b0ec; padding-top:1px; padding-bottom:2px; } .ms-verticaldots{ /* [ReplaceColor(themeColor:"Accent3-Medium")] */ border-right:1px solid #83b0ec; border-left:none; } .ms-nav{ /* [ReplaceColor(themeColor:"Accent3-Medium")] */ background-color:#83b0ec; font-family:tahoma; } .ms-globalTitleArea{ text-align:right; background-image:url("/_layouts/images/siteTitleBKGD.gif"); background-position:right top; background-repeat:repeat-y; padding-left:5px; padding-right:0px; padding-top:1px; } .ms-titlearea{ /* [ReplaceColor(themeColor:"Dark1-Lighter")] */ color:#666666; font-family:tahoma; font-size:8pt; letter-spacing:.1em; } .ms-titlearea a { /* [ReplaceColor(themeColor:"Accent3-Darker")] */ color:#3966bf; text-decoration:none; } .ms-titlearea a:hover { /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; text-decoration:underline; } .ms-titlearealeft { /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ background-color:#d6e8ff; } TD.ms-titleareaframe,Div.ms-titleareaframe,.ms-pagetitleareaframe{ background:url("/_layouts/images/bgximg.png") repeat-x -0px -461px; /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ background-color:#d6e8ff; text-align:left; } div.ms-titleareaframe{ height:100%; } .ms-pagetitleareaframe table{ background-image:url("/_layouts/images/topshape.jpg"); background-repeat:no-repeat; background-position:332px 4px; height:54px; } .ms-titlearealine{ /* [ReplaceColor(themeColor:"Accent3-Medium")] */ background-color:#83b0ec; } .ms-titleareaframe table td.ms-titlearea,.ms-areaseparator table td.ms-titlearea,.ms-pagetitleareaframe table td.ms-titlearea{ padding:7px 0px 1px 0px; } .ms-sitemapdirectional,.ms-sitemapdirectional a{ unicode-bidi:embed; } .ms-areaseparatorcorner{ background-image:url("/_layouts/images/framecornergrad.gif"); background-position:left top; background-repeat:repeat-y; height:8px; /* [ReplaceColor(themeColor:"Accent5-Medium")] */ border-right:1px solid #6f9dd9; } td.ms-areaseparatorleft{ background:#d6e8ff url("/_layouts/images/bgximg.png") repeat-x -0px -461px; /* [ReplaceColor(themeColor:"Accent5-Medium")] */ border-right:1px solid #6f9dd9; height:100%; } div.ms-areaseparatorleft{ background-repeat:no-repeat; background-position:-143px 0px; /* [ReplaceColor(themeColor:"Accent5-Medium")] */ border-right:1px solid #6f9dd9; height:100%; } div.ms-areaseparatorright{ /* [ReplaceColor(themeColor:"Accent5-Medium")] */ border-left:1px solid #6f9dd9; padding-right:2px; height:100%; } .ms-titlearearight .ms-areaseparatorright{ background:#d6e8ff url("/_layouts/images/bgximg.png") repeat-x -0px -461px; /* [ReplaceColor(themeColor:"Accent5-Medium")] */ border-left:1px solid #6f9dd9; padding-right:2px; height:100%; } .ms-areaseparator{ /* [ReplaceColor(themeColor:"Accent4-Lightest")] */ background-color:#ffeaad; border-right:none; border-left:none; padding-left:5px; height:61px; } .ms-pagemargin{ background-color:#83b0ec; height:100%; } td.ms-rightareacell div.ms-pagemargin{ /* [ReplaceColor(themeColor:"Accent3-Medium")] */ background-color:#83b0ec; height:100%; /* [ReplaceColor(themeColor:"Accent3-Medium")] */ border-left:solid 1px #83b0ec; } .ms-bodyareacell{ vertical-align:top; } .ms-pagebottommargin,.ms-pagebottommarginleft,.ms-pagebottommarginright{ /* [ReplaceColor(themeColor:"Accent3-Medium")] */ background:#83b0ec; } .ms-bodyareapagemargin{ /* [ReplaceColor(themeColor:"Accent3-Medium")] */ background:#83b0ec; /* [ReplaceColor(themeColor:"Accent3-Lighter")] */ border-top:1px solid #6f9dd9; } .ms-bodyareaframe{ vertical-align:top; height:100%; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; /* [ReplaceColor(themeColor:"Accent3-Lighter")] */ border:1px solid #6f9dd9; } .ms-bodyareaframe{ padding:10px; } .ms-pagetitle{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; font-family:verdana; font-size:16pt; margin:0px 0px 4px 0px; font-weight:normal; } .ms-pagetitle a{ text-decoration:none; /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; margin:0; font-weight:normal; } .ms-pagetitle a:hover{ } .ms-vh table.ms-selectedtitle,.ms-vh2 table.ms-selectedtitle,.ms-vh-icon table.ms-selectedtitle,.ms-vh table.ms-unselectedtitle,.ms-vh2 table.ms-unselectedtitle,.ms-vh-icon table.ms-unselectedtitle{ height:21px; } .ms-vh table.ms-selectedtitle,.ms-vh2 table.ms-selectedtitle,.ms-vh-icon table.ms-selectedtitle{ /* [ReplaceColor(themeColor:"Light1-Lighter")] */ background-color:#dde1e5; border:none; } .ms-vh2 .ms-selectedtitle .ms-vb,.ms-vh2 .ms-unselectedtitle .ms-vb{ padding-left:5px; padding-right:5px; padding-top:1px; } .ms-vh-icon .ms-selectedtitle .ms-vb,.ms-vh-icon .ms-unselectedtitle .ms-vb{ padding-left:0px; vertical-align:middle; } .ms-propertysheet th.ms-vh2,.ms-propertysheet th.ms-vh2-nofilter{ font-family:tahoma; } .ms-listviewtable .ms-vh2,.ms-summarystandardbody .ms-vh2{ padding:1px 1px 0px 1px; } .ms-listviewtable .ms-vb2,.ms-summarystandardbody .ms-vb2{ padding-left:2px; padding-right:7px; } .ms-selectedtitle{ /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; /* [ReplaceColor(themeColor:"Accent4-Darker")] */ border:1px solid #b09460; margin:0px; padding:0px; cursor:pointer; } .ms-selectedtitlealternative { /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; /* [ReplaceColor(themeColor:"Accent4-Darker")] */ border:1px solid #b09460; margin:0px; padding:0px; cursor:pointer; } .ms-unselectedtitle{ background-color:transparent; margin:0px; padding:0px; } .ms-newgif{ display:inline-block; margin-left:5px; } .ms-menuimagecell{ /* [RecolorImage(themeColor:"Accent1",method:"Tinting")] */ background:url("/_layouts/images/selectednav.gif") repeat-x; /* [ReplaceColor(themeColor:"Accent6-Lighter")] */ background-color:#ffe6a0; cursor:pointer; /* [ReplaceColor(themeColor:"Light1")] */ border:solid 1px #ffffff; padding:0px; height:18px; } .ms-vh .ms-menuimagecell,.ms-vh2 .ms-menuimagecell,.ms-vh-icon .ms-menuimagecell{ height:20px; } .ms-vh .ms-menuimagecell img,.ms-vh2 .ms-menuimagecell img,.ms-vh-icon .ms-menuimagecell img{ margin-top:2px; margin-bottom:2px; } .ms-descriptiontext{ /* [ReplaceColor(themeColor:"Dark1-Medium")] */ color:#4c4c4c; font-family:tahoma; font-size:8pt; text-align:left; } .ms-statusdescriptiontext { color:#4c4c4c; background-color:#FFFF00; font-family:tahoma; font-size:8pt; text-align:left; } .ms-webpartpagedescription{ font-family:verdana; font-size:8pt; /* [ReplaceColor(themeColor:"Dark1-Lighter")] */ color:#5a5a5a; padding:8px 12px 0px 12px; } .ms-separator { /* [ReplaceColor(themeColor:"Light2",themeShade:"0.02")] */ color:#f1f1f2; background-repeat:repeat-x; border:none; padding-left:4px; font-size:10pt; } .ms-rtetoolbarmenu .ms-separator{ padding-left:0px !important; /* [ReplaceColor(themeColor:"Accent3-Medium")] */ color:#83b0ec; } .ms-separator img { height:12px; width:1px; margin:0px 1px 0px 1px; /* [ReplaceColor(themeColor:"Light2",themeShade:"0.02")] */ background:#f1f1f2; } .ms-propertysheet th.ms-authoringcontrols { /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ background-color:#f1f1f2; text-align:left; } table.ms-authoringcontrols > tbody > tr > td{ vertical-align:middle; } td.ms-authoringcontrols > label,td.ms-authoringcontrols > span > label,td.ms-authoringcontrols > table > tbody > tr > td > label{ vertical-align:middle; } .ms-propertysheet th.ms-linksectionheader { /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; font-family:tahoma; font-size:8pt; font-weight:bold; text-align:left; } .ms-linksectionitemdescription{ padding-left:3px; padding-top:7px; } .ms-propertysheet .ms-sectionheader a,.ms-propertysheet .ms-sectionheader a:hover { /* [ReplaceColor(themeColor:"Dark1-Lighter")] */ color:#525252; text-decoration:none; } .ms-partline { height:3px; /* [ReplaceColor(themeColor:"Dark2",themeTint:"0.17")] */ border-bottom:1px solid #EBEBEB; } .ms-propertysheet{ font-family:verdana; font-size:1em; text-align:left; /* [ReplaceColor(themeColor:"Dark1-Medium")] */ color:#4c4c4c; } .ms-propertysheet th{ font-family:verdana; font-size:8pt; /* [ReplaceColor(themeColor:"Dark1-Medium")] */ color:#4c4c4c; font-weight:normal; } .ms-propertysheet a{ text-decoration:none; /* [ReplaceColor(themeColor:"Accent3-Darker")] */ color:#3966bf; } .ms-propertysheet a:hover{ text-decoration:underline; /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; } .ms-vh,.ms-vh2,.ms-vh-icon-empty,.ms-vhImage,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon,.ms-ph{ font-weight:normal; /* [ReplaceColor(themeColor:"Light1-Medium")] */ color:#b2b2b2; text-align:left; text-decoration:none; vertical-align:top; } .ms-vh-icon{ vertical-align:middle; } .ms-gb,.ms-gb2,.ms-gbload,.ms-vb-tall,.ms-vb-user,.ms-pb,.ms-pb-selected td{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; } .ms-gb a,.ms-gb2 a{ /* [ReplaceColor(themeColor:"Accent3")] */ color:#003399; } .ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh-icon-empty,.ms-vhImage,.ms-gb,.ms-gb2,.ms-gbload,.ms-vb,.ms-vb2,.ms-vb-tall,.ms-vb-user,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon,.ms-pb,.ms-pb-selected,.ms-ph{ font-size:8pt; line-height:1.2; font-family:Verdana,Helvetica,sans-serif; } .ms-vh,.ms-vh2,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon,.ms-ph{ white-space:nowrap; } .ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh2-nofilter-icon,.ms-viewheadertr .ms-vh-group,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-ph,.ms-pickerresultheadertr{ background-repeat:repeat-x; padding-top:1px; padding-bottom:0px; } .ms-viewheadertr th{ padding-top:5px !important; } .ms-disc .ms-viewheadertr th.ms-vh2{ padding:1px 5px 0px 4px; } .ms-disc .ms-vh2 .ms-selectedtitle .ms-vb,.ms-disc .ms-vh2 .ms-unselectedtitle .ms-vb{ padding-left:4px; } th.ms-vh3-nograd{ width:12px; /* [ReplaceColor(themeColor:"Light1-Darker")] */ color:#949494; font-size:8pt; font-family:tahoma,sans-serif; } .ms-vh .ms-vh{ background-image:none; border-left:none; padding-left:1px; background-color:transparent; } .ms-vh2,.ms-ph{ padding:3px 8px 1px; } .ms-vh-div{ padding-top:5px; } .ms-vh-icon,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon{ width:12px; } .ms-vh-icon{ padding-left:6px; padding-right:4px; padding-bottom:3px; } .ms-vh-icon-empty{ width:0px; } .ms-vh a,.ms-vh a:visited,.ms-vh2 a{ /* [ReplaceColor(themeColor:"Dark1-Lightest")] */ color:#7f7f7f; text-decoration:none; } .ms-vh a:hover,.ms-vh2 a:hover{ text-decoration:underline; } .ms-imnImgTD { padding-right:2px; padding-bottom:5px; } .ms-vhltr .ms-imnImgTD { padding-right:2px; } .ms-vhrtl .ms-imnImgTD { padding-left:2px; } .ms-imnTxtTD { padding-top:0px; } .ms-vhImage{ width:18pt } .ms-standardheader{ font-size:1em; margin:0em; text-align:left; /* [ReplaceColor(themeColor:"Dark1")] */ color:#525252; } .ms-formlabel h3.ms-standardheader{ font-weight:normal; color:auto; } .ms-linksectionheader .ms-standardheader{ /* [ReplaceColor(themeColor:"Dark1")] */ color:#000000; } .ms-gb{ height:22px; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; font-weight:bold; /* [ReplaceColor(themeColor:"Accent3-Lighter")] */ border-bottom:1px solid #8ebbf5; /* [ReplaceColor(themeColor:"Light1-Lightest")] */ border-top:1px solid #f9f9f9; padding-bottom:3px; } .ms-gb .ms-vb2{ font-weight:normal; } .ms-listviewtable .ms-gb,.ms-listviewtable .ms-gb2{ padding-top:14px; } .ms-gb2{ height:22px; /* [ReplaceColor(themeColor:"Dark1-Medium")] */ color:#4c4c4c; padding-bottom:3px; /* [ReplaceColor(themeColor:"Accent3-Lightest")] */ border-bottom:1px solid #e3efff; /* [ReplaceColor(themeColor:"Light1-Lightest")] */ border-top:1px solid #f9f9f9; } .ms-gbload{ height:22px; /* [ReplaceColor(themeColor:"Dark1-Medium")] */ color:#4c4c4c; /* [ReplaceColor(themeColor:"Light1")] */ background-color:#ffffff; padding-bottom:3px; } .ms-vb,.ms-vb2,.ms-vb-user,.ms-vb-tall,.ms-pb,.ms-pb-selected { /* [ReplaceColor(themeColor:"Dark1")] */ color:#6d6f72; vertical-align:top; } .ms-vb a:link,.ms-vb2 a:link,.ms-vb-user a:link{ /* [ReplaceColor(themeColor:"Hyperlink")] */ color:#0072BC; text-decoration:none; } .ms-vb a:hover,.ms-vb2 a:hover,.ms-vb-user a:hover{ text-decoration:underline; } .ms-vb a:visited,.ms-vb2 a:visited,.ms-vb-user a:visited{ /* [ReplaceColor(themeColor:"Hyperlink")] */ color:#0072BC; text-decoration:none; } .ms-vb a:visited:hover,.ms-vb2 a:visited:hover,.ms-vb-user a:visited:hover{ /* [ReplaceColor(themeColor:"Hyperlink")] */ color:#0072BC; text-decoration:underline; } .ms-alternatingstrong .ms-vb a:link,.ms-alternatingstrong .ms-vb2 a:link,.ms-alternatingstrong .ms-vb-user a:link,.ms-alternatingstrong .ms-vb a:visited,.ms-alternatingstrong .ms-vb2 a:visited,.ms-alternatingstrong .ms-vb-user a:visited,.ms-alternatingstrong .ms-vb a:visited:hover,.ms-alternatingstrong .ms-vb2 a:visited:hover,.ms-alternatingstrong .ms-vb-user a:visited:hover{ /* [ReplaceColor(themeColor

    Read the article

  • ruby regex, parsing html

    - by danwoods
    Hello all, I'm trying to parse some returned html to look for currently playing movies. The pattern I'm trying to match looks like: <span dir=ltr>Clash of the Titans</span> Of which there are several in the returned html. (the html is huge, I've posted a sample at the bottom) I'm trying get an array of the movie titles with the following command: titles = listings_html.split(/(<span dir=ltr>).*(<\/span>)/) But I'm not getting the results I'm expecting. Can anyone see a problem with my approach or regex? Returned html (I believe the 'markdown'formating will render the some of the html, but this is just an example): <script>window.gbar={};(function(){function h(a,b,d){var c="on"+b;if(a.addEventListener)a.addEventListener(b,d,false);else if(a.attachEvent)a.attachEvent(c,d);else{var f=a[c];a[c]=function(){var e=f.apply(this,arguments),g=d.apply(this,arguments);return e==undefined?g:g==undefined?e:g&&e}}};var i=window.gbar,k,l,m;function n(a){var b=window.encodeURIComponent&&(document.forms[0].q||"").value;if(b)a.href=a.href.replace(/([?&])q=[^&]*|$/,function(d,c){return(c||"&")+"q="+encodeURIComponent(b)})}i.qs=n;function o(a,b,d,c,f,e){var g=document.getElementById(a);if(g){var j=g.style;j.left=c?"auto":b+"px";j.right=c?b+"px":"auto";j.top=d+"px";j.visibility=l?"hidden":"visible";if(f&&e){j.width=f+"px";j.height=e+"px"}else{o(k,b,d,c,g.offsetWidth,g.offsetHeight);l=l?"":a}}}i.tg=function(a){a=a||window.event;var b,d=a.target||a.srcElement;a.cancelBubble=true;if(k!=null)p(d);else{b=document.createElement(Array.every||window.createPopup?"iframe":"div");b.frameBorder="0";k=b.id="gbs";b.src="javascript:''";d.parentNode.appendChild(b);h(document,"click",i.close);p(d);i.alld&&i.alld(function(){var c=document.getElementById("gbli");if(c){var f=c.parentNode;q(f,c);var e=c.prevSibling;f.removeChild(c);i.removeExtraDelimiters(f,e);b.style.height=f.offsetHeight+"px"}})}};function r(a){var b,d=document.defaultView;if(d&&d.getComputedStyle){if(a=d.getComputedStyle(a,""))b=a.direction}else b=a.currentStyle?a.currentStyle.direction:a.style.direction;return b=="rtl"}function p(a){var b=0;if(a.className!="gb3")a=a.parentNode;var d=a.getAttribute("aria-owns")||"gbi",c=a.offsetWidth,f=a.offsetTop>20?46:24,e=false;do b+=a.offsetLeft||0;while(a=a.offsetParent);a=(document.documentElement.clientWidth||document.body.clientWidth)-b-c;c=r(document.body);if(d=="gbi"){var g=document.getElementById("gbi");q(g,document.getElementById("gbli")||g.firstChild);if(c){b=a;e=true}}else if(!c){b=a;e=true}l!=d&&i.close();o(d,b,f,e)}i.close=function(){l&&o(l,0,0)};function s(a,b,d){if(!m){m="gb2";if(i.alld){var c=i.findClassName(a);if(c)m=c}}a.insertBefore(b,d).className=m}function q(a,b){for(var d,c=window.navExtra;c&&(d=c.pop());)s(a,d,b)}i.addLink=function(a,b,d){if((b=document.getElementById(b))&&a){a.className="gb4";var c=document.createElement("span");c.appendChild(a);c.appendChild(document.createTextNode(" | "));c.id=d;b.appendChild(c)}}})();if(!window.google)window.google={};if(!window.google.movies)window.google.movies={};window.google.movies.registerFixdir=function(){var c="[\u0000- !-@[-{-\u00bf\u00d7\u00f7\u02b9-\u02ff\u2000-\u2bff]",g=new RegExp("^"+c+"([0-9]"+c+"$|[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u2c00-\ufb1c\ufdfe-\ufe6f\ufefd-\uffff])"),h=new RegExp("^"+c+"$");function e(d,a){if(!a)a=d&&d.target?d.target:window.event.srcElement;a.dir=g.test(a.value)?"ltr":(h.test(a.value)?"":"rtl")} var i=[document.getElementsByName("q")[0],document.getElementById("mtq")];for(var f=0,b;b=i[f];f++)if(b){b.onkeyup=e;e(null,b)}}; Movie Showtimes - Google Search.fl:link{}a:link,.w,a.w:link,.w a:link{color:#00c}a:visited{color:#551a8b}a:active{color:red}.t a:link,.t a:active,.t a:visited,.t{color:#000}.left{width:12em}.box{background:#fff}.nopadding{padding:0}.k{background:#36c}.z{display:none}.x{width:3em}.y{width:23em}.b{color:#00c;font-size:12pt;font-weight:bold}.i,.i:link{color:#a90a08}.n a{color:#000;font-size:10pt}.n .b a{color:#00c}.n .i{font-size:10pt;font-weight:bold}.h{cursor:pointer}body{background:#fff;font:82% Arial,Helvetica,sans-serif;margin:3px 0 0;padding:0}table{border-collapse:collapse;border-spacing:0}img{border:0}td,th{vertical-align:top}h1,h2{font-size:100%;margin:0}a{color:#00c}/ CSS for page */#title_bar{background:#f0f7f9;border-top:1px solid #6b90da;padding-bottom:4px;padding-left:8px;padding-top:4px}#google_bar{margin:3px 10px}#search_form{margin:3px 10px}#left_nav{border-right:1px solid #c9d7f1;margin-top:11px;position:absolute;left:9px;width:13.4em}#left_nav .section{margin-bottom:1.2em}.hidden{visibility:hidden}#results{height:auto !important;height:350px;margin-left:15em;min-height:350px;min-width:800px;width:expression(document.body.clientWidth<1000?"800px":"99.9%")}.name{font-size:124%;margin:0}.times{clear:both;margin:0}.address{margin:0}#movie_results{overflow:auto}.movie_results{margin-top:11px}.movie{clear:both;margin-bottom:40px}.movie .header{padding-left:8px}.movie .img{border:1px solid #ccc;float:left;margin-bottom:10px}.movie .desc{margin-bottom:15px;max-width:42em}.movie h2{font-size:124%;margin-bottom:2px}.movie .info{margin-bottom:10px}.movie .syn{margin-bottom:10px}.movie .section_title{background:#f0f7f9;clear:both;font-size:108%;margin-bottom:11px;margin-top:11px;padding-bottom:4px;padding-left:8px;padding-top:5px}.movie .showtimes{margin-bottom:8px;padding-left:8px}.movie .show_left{width:49%}.movie .show_right{width:49%}.movie .theater{padding-bottom:15px}.theater{clear:both;padding-bottom:1px}.theater_after_icon{padding-left:25px}.theater .show_left{width:49%}.theater .show_right{width:49%}.theater h2{font-size:124%;margin-bottom:2px}.theater .icon{float:left;height:3em;margin-right:5px}.theater .closure{font-size:100%}.theater .info{font-size:100%;padding-bottom:5px;padding-top:5px}.theater .movie{margin-bottom:8px;margin-right:8px;max-width:42em}.theater .movie .desc{margin-bottom:5px;margin-left:0}.theater .movie .info{margin-top:0}.theater .showtimes{margin-bottom:40px;margin-top:8px}#theater_map{right:0;left:0;position:relative;top:0}#theater_static_map{border:1px solid #c9d7f1;margin:10px}.map_marker .name{margin-top:10px}.photo{border:1px solid #ccc;margin-bottom:20px;margin-left:8px}.show_left{float:left;margin:0;width:49.999%}.show_right{float:right;margin:0;width:50%}.show_more{clear:both;font-size:124%;margin:0}.show_more a{color:#77c}.reviews{margin-bottom:8px;padding-left:8px}.review{margin-bottom:5px}.review .publisher{color:green}.review .date{color:#6f6f6f}.trailer{margin-bottom:8px;padding-left:8px}.clear{clear:both}.iconA{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 0}.iconB{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -38px}.iconC{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -76px}.iconD{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -114px}.iconE{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -152px}.iconF{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -190px}.iconG{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -228px}.iconH{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -266px}.iconI{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -304px}.iconJ{background:url(http://maps.gstatic.com/mapfiles/red_icons_A_J.png) repeat 0 -342px}.iconK{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 0}.iconL{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -38px}.iconM{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -76px}.iconN{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -114px}.iconO{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -152px}.iconP{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -190px}.iconQ{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -228px}.iconR{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -266px}.iconS{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -304px}.iconT{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -342px}.iconU{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -380px}.iconV{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -418px}.iconW{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -456px}.iconX{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -494px}.iconY{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -532px}.iconZ{background:url(http://maps.gstatic.com/mapfiles/red_icons_K_Z.png) repeat 0 -570px}#gbar,#guser{font-size:13px;padding-top:1px !important}#gbar{float:left;height:22px}#guser{padding-bottom:7px !important;text-align:right}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#gbs,.gbm{background:#fff;left:0;position:absolute;text-align:left;visibility:hidden;z-index:1000}.gbm{border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;z-index:1001}.gb1{margin-right:.5em}.gb1,.gb3{zoom:1}.gb2{display:block;padding:.2em .5em;}.gb2,.gb3{text-decoration:none;border-bottom:none}a.gb1,a.gb2,a.gb3,a.gb4{color:#00c !important}.gbi .gb3,.gbi .gb2,.gbi .gb4{color:#dd8e27 !important}.gbf .gb3,.gbf .gb2,.gbf .gb4{color:#900 !important}a.gb2:hover{background:#36c;color:#fff !important}Web Images Videos Maps News Shopping Gmail more ▼Books Finance Translate Scholar Blogs YouTube Calendar Photos Documents Reader Sites Groups even more » [email protected] | Google Account settings | Sign out     Advanced Search  PreferencesShowtimes for Murfreesboro, TN 37130Change Location› Today › Tomorrow › Monday › Tuesday› Theaters › Movies› Show list view › Show map viewPremiere 6 Theater810 Northwest Broad Street, Murfreesboro, TN - (615) 896-4100Clash of the Titans? - 1hr 50min?? - Rated PG-13?? - Action/Adventure? - Trailer - IMDb2:10  4:15  6:15  8:20  10:25pmDiary of a Wimpy Kid? - 1hr 33min?? - Rated PG?? - Comedy/Drama? - Trailer - IMDb2:00  3:50  6:00  7:50  9:40pmHow to Train Your Dragon?1hr 38min?? - Rated PG?? - Family/Animation? - IMDb2:00  3:55  6:00  7:55  9:50pmThe Bounty Hunter? - 1hr 46min?? - Rated PG-13?? - Action/Adventure/Comedy/Romance? - Trailer - IMDb2:15  4:15  6:25  8:25  10:30pmThe Last Song? - 1hr 47min?? - Rated PG?? - Drama? - Trailer - IMDb2:20  4:15  6:30  8:35  10:35pmTyler Perry's Why Did I Get Married Too?2hr 1min?? - Rated PG-13?? - Comedy?2:20  4:35  7:30  9:45pmContinental Cinema 5450 US Highway 231 N, Troy, AL - (334) 808-4225Clash of the Titans 3D? - 1hr 50min?? - Rated PG-13?? - Action/Adventure? - IMDb1:00  4:00  7:00  9:30pmHow to Train Your Dragon 3D? - 1hr 38min?? - Rated PG?? - Family/Animation? - IMDb1:05  4:05  7:05  9:25pmThe Bounty Hunter? - 1hr 46min?? - Rated PG-13?? - Action/Adventure/Comedy/Romance? - Trailer - IMDb1:00  4:00  7:00  9:30pmThe Last Song? - 1hr 47min?? - Rated PG?? - Drama? - Trailer - IMDb1:05  4:05  7:05  9:25pmTyler Perry's Why Did I Get Married Too?2hr 1min?? - Rated PG-13?? - Comedy?12:55  3:55  6:55  9:35pmMall Cinema - Hartford KYUS Hwy 231 South 62 East, Hartford, KY - (270) 298-3315Clash of the Titans? - 1hr 50min?? - Rated PG-13?? - Action/Adventure? - Trailer - IMDb5:00  7:00  9:00pmHow to Train Your Dragon?1hr 38min?? - Rated PG?? - Family/Animation? - IMDb5:00  7:00  9:00pmCarmike Wynnsong 16 - Murfreesboro2626 Cason Square Boulevard, Murfreesboro, TN - (615) 893-2253The Last Song? - 1hr 47min?? - Rated PG?? - Drama? - Trailer - IMDb12:15  1:00  2:45  4:00  5:15  7:00  7:45 

    Read the article

  • A free standing ASP.NET Pager Web Control

    - by Rick Strahl
    Paging in ASP.NET has been relatively easy with stock controls supporting basic paging functionality. However, recently I built an MVC application and one of the things I ran into was that I HAD TO build manual paging support into a few of my pages. Dealing with list controls and rendering markup is easy enough, but doing paging is a little more involved. I ended up with a small but flexible component that can be dropped anywhere. As it turns out the task of creating a semi-generic Pager control for MVC was fairly easily. Now I’m back to working in Web Forms and thought to myself that the way I created the pager in MVC actually would also work in ASP.NET – in fact quite a bit easier since the whole thing can be conveniently wrapped up into an easily reusable control. A standalone pager would provider easier reuse in various pages and a more consistent pager display regardless of what kind of 'control’ the pager is associated with. Why a Pager Control? At first blush it might sound silly to create a new pager control – after all Web Forms has pretty decent paging support, doesn’t it? Well, sort of. Yes the GridView control has automatic paging built in and the ListView control has the related DataPager control. The built in ASP.NET paging has several issues though: Postback and JavaScript requirements If you look at paging links in ASP.NET they are always postback links with javascript:__doPostback() calls that go back to the server. While that works fine and actually has some benefit like the fact that paging saves changes to the page and post them back, it’s not very SEO friendly. Basically if you use javascript based navigation nosearch engine will follow the paging links which effectively cuts off list content on the first page. The DataPager control does support GET based links via the QueryStringParameter property, but the control is effectively tied to the ListView control (which is the only control that implements IPageableItemContainer). DataSource Controls required for Efficient Data Paging Retrieval The only way you can get paging to work efficiently where only the few records you display on the page are queried for and retrieved from the database you have to use a DataSource control - only the Linq and Entity DataSource controls  support this natively. While you can retrieve this data yourself manually, there’s no way to just assign the page number and render the pager based on this custom subset. Other than that default paging requires a full resultset for ASP.NET to filter the data and display only a subset which can be very resource intensive and wasteful if you’re dealing with largish resultsets (although I’m a firm believer in returning actually usable sets :-}). If you use your own business layer that doesn’t fit an ObjectDataSource you’re SOL. That’s a real shame too because with LINQ based querying it’s real easy to retrieve a subset of data that is just the data you want to display but the native Pager functionality doesn’t support just setting properties to display just the subset AFAIK. DataPager is not Free Standing The DataPager control is the closest thing to a decent Pager implementation that ASP.NET has, but alas it’s not a free standing component – it works off a related control and the only one that it effectively supports from the stock ASP.NET controls is the ListView control. This means you can’t use the same data pager formatting for a grid and a list view or vice versa and you’re always tied to the control. Paging Events In order to handle paging you have to deal with paging events. The events fire at specific time instances in the page pipeline and because of this you often have to handle data binding in a way to work around the paging events or else end up double binding your data sources based on paging. Yuk. Styling The GridView pager is a royal pain to beat into submission for styled rendering. The DataPager control has many more options and template layout and it renders somewhat cleaner, but it too is not exactly easy to get a decent display for. Not a Generic Solution The problem with the ASP.NET controls too is that it’s not generic. GridView, DataGrid use their own internal paging, ListView can use a DataPager and if you want to manually create data layout – well you’re on your own. IOW, depending on what you use you likely have very different looking Paging experiences. So, I figured I’ve struggled with this once too many and finally sat down and built a Pager control. The Pager Control My goal was to create a totally free standing control that has no dependencies on other controls and certainly no requirements for using DataSource controls. The idea is that you should be able to use this pager control without any sort of data requirements at all – you should just be able to set properties and be able to display a pager. The Pager control I ended up with has the following features: Completely free standing Pager control – no control or data dependencies Complete manual control – Pager can render without any data dependency Easy to use: Only need to set PageSize, ActivePage and TotalItems Supports optional filtering of IQueryable for efficient queries and Pager rendering Supports optional full set filtering of IEnumerable<T> and DataTable Page links are plain HTTP GET href Links Control automatically picks up Page links on the URL and assigns them (automatic page detection no page index changing events to hookup) Full CSS Styling support On the downside there’s no templating support for the control so the layout of the pager is relatively fixed. All elements however are stylable and there are options to control the text, and layout options such as whether to display first and last pages and the previous/next buttons and so on. To give you an idea what the pager looks like, here are two differently styled examples (all via CSS):   The markup for these two pagers looks like this: <ww:Pager runat="server" id="ItemPager" PageSize="5" PageLinkCssClass="gridpagerbutton" SelectedPageCssClass="gridpagerbutton-selected" PagesTextCssClass="gridpagertext" CssClass="gridpager" RenderContainerDiv="true" ContainerDivCssClass="gridpagercontainer" MaxPagesToDisplay="6" PagesText="Item Pages:" NextText="next" PreviousText="previous" /> <ww:Pager runat="server" id="ItemPager2" PageSize="5" RenderContainerDiv="true" MaxPagesToDisplay="6" /> The latter example uses default style settings so it there’s not much to set. The first example on the other hand explicitly assigns custom styles and overrides a few of the formatting options. Styling The styling is based on a number of CSS classes of which the the main pager, pagerbutton and pagerbutton-selected classes are the important ones. Other styles like pagerbutton-next/prev/first/last are based on the pagerbutton style. The default styling shown for the red outlined pager looks like this: .pagercontainer { margin: 20px 0; background: whitesmoke; padding: 5px; } .pager { float: right; font-size: 10pt; text-align: left; } .pagerbutton,.pagerbutton-selected,.pagertext { display: block; float: left; text-align: center; border: solid 2px maroon; min-width: 18px; margin-left: 3px; text-decoration: none; padding: 4px; } .pagerbutton-selected { font-size: 130%; font-weight: bold; color: maroon; border-width: 0px; background: khaki; } .pagerbutton-first { margin-right: 12px; } .pagerbutton-last,.pagerbutton-prev { margin-left: 12px; } .pagertext { border: none; margin-left: 30px; font-weight: bold; } .pagerbutton a { text-decoration: none; } .pagerbutton:hover { background-color: maroon; color: cornsilk; } .pagerbutton-prev { background-image: url(images/prev.png); background-position: 2px center; background-repeat: no-repeat; width: 35px; padding-left: 20px; } .pagerbutton-next { background-image: url(images/next.png); background-position: 40px center; background-repeat: no-repeat; width: 35px; padding-right: 20px; margin-right: 0px; } Yup that’s a lot of styling settings although not all of them are required. The key ones are pagerbutton, pager and pager selection. The others (which are implicitly created by the control based on the pagerbutton style) are for custom markup of the ‘special’ buttons. In my apps I tend to have two kinds of pages: Those that are associated with typical ‘grid’ displays that display purely tabular data and those that have a more looser list like layout. The two pagers shown above represent these two views and the pager and gridpager styles in my standard style sheet reflect these two styles. Configuring the Pager with Code Finally lets look at what it takes to hook up the pager. As mentioned in the highlights the Pager control is completely independent of other controls so if you just want to display a pager on its own it’s as simple as dropping the control and assigning the PageSize, ActivePage and either TotalPages or TotalItems. So for this markup: <ww:Pager runat="server" id="ItemPagerManual" PageSize="5" MaxPagesToDisplay="6" /> I can use code as simple as: ItemPagerManual.PageSize = 3; ItemPagerManual.ActivePage = 4;ItemPagerManual.TotalItems = 20; Note that ActivePage is not required - it will automatically use any Page=x query string value and assign it, although you can override it as I did above. TotalItems can be any value that you retrieve from a result set or manually assign as I did above. A more realistic scenario based on a LINQ to SQL IQueryable result is even easier. In this example, I have a UserControl that contains a ListView control that renders IQueryable data. I use a User Control here because there are different views the user can choose from with each view being a different user control. This incidentally also highlights one of the nice features of the pager: Because the pager is independent of the control I can put the pager on the host page instead of into each of the user controls. IOW, there’s only one Pager control, but there are potentially many user controls/listviews that hold the actual display data. The following code demonstrates how to use the Pager with an IQueryable that loads only the records it displays: protected voidPage_Load(objectsender, EventArgs e) {     Category = Request.Params["Category"] ?? string.Empty;     IQueryable<wws_Item> ItemList = ItemRepository.GetItemsByCategory(Category);     // Update the page and filter the list down     ItemList = ItemPager.FilterIQueryable<wws_Item>(ItemList); // Render user control with a list view Control ulItemList = LoadControl("~/usercontrols/" + App.Configuration.ItemListType + ".ascx"); ((IInventoryItemListControl)ulItemList).InventoryItemList = ItemList; phItemList.Controls.Add(ulItemList); // placeholder } The code uses a business object to retrieve Items by category as an IQueryable which means that the result is only an expression tree that hasn’t execute SQL yet and can be further filtered. I then pass this IQueryable to the FilterIQueryable() helper method of the control which does two main things: Filters the IQueryable to retrieve only the data displayed on the active page Sets the Totaltems property and calculates TotalPages on the Pager and that’s it! When the Pager renders it uses those values, plus the PageSize and ActivePage properties to render the Pager. In addition to IQueryable there are also filter methods for IEnumerable<T> and DataTable, but these versions just filter the data by removing rows/items from the entire already retrieved data. Output Generated and Paging Links The output generated creates pager links as plain href links. Here’s what the output looks like: <div id="ItemPager" class="pagercontainer"> <div class="pager"> <span class="pagertext">Pages: </span><a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=1" class="pagerbutton" />1</a> <a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=2" class="pagerbutton" />2</a> <a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=3" class="pagerbutton" />3</a> <span class="pagerbutton-selected">4</span> <a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=5" class="pagerbutton" />5</a> <a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=6" class="pagerbutton" />6</a> <a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=20" class="pagerbutton pagerbutton-last" />20</a>&nbsp;<a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=3" class="pagerbutton pagerbutton-prev" />Prev</a>&nbsp;<a href="http://localhost/WestWindWebStore/itemlist.aspx?Page=5" class="pagerbutton pagerbutton-next" />Next</a></div> <br clear="all" /> </div> </div> The links point back to the current page and simply append a Page= page link into the page. When the page gets reloaded with the new page number the pager automatically detects the page number and automatically assigns the ActivePage property which results in the appropriate page to be displayed. The code shown in the previous section is all that’s needed to handle paging. Note that HTTP GET based paging is different than the Postback paging ASP.NET uses by default. Postback paging preserves modified page content when clicking on pager buttons, but this control will simply load a new page – no page preservation at this time. The advantage of not using Postback paging is that the URLs generated are plain HTML links that a search engine can follow where __doPostback() links are not. Pager with a Grid The pager also works in combination with grid controls so it’s easy to bypass the grid control’s paging features if desired. In the following example I use a gridView control and binds it to a DataTable result which is also filterable by the Pager control. The very basic plain vanilla ASP.NET grid markup looks like this: <div style="width: 600px; margin: 0 auto;padding: 20px; "> <asp:DataGrid runat="server" AutoGenerateColumns="True" ID="gdItems" CssClass="blackborder" style="width: 600px;"> <AlternatingItemStyle CssClass="gridalternate" /> <HeaderStyle CssClass="gridheader" /> </asp:DataGrid> <ww:Pager runat="server" ID="Pager" CssClass="gridpager" ContainerDivCssClass="gridpagercontainer" PageLinkCssClass="gridpagerbutton" SelectedPageCssClass="gridpagerbutton-selected" PageSize="8" RenderContainerDiv="true" MaxPagesToDisplay="6" /> </div> and looks like this when rendered: using custom set of CSS styles. The code behind for this code is also very simple: protected void Page_Load(object sender, EventArgs e) { string category = Request.Params["category"] ?? ""; busItem itemRep = WebStoreFactory.GetItem(); var items = itemRep.GetItemsByCategory(category) .Select(itm => new {Sku = itm.Sku, Description = itm.Description}); // run query into a DataTable for demonstration DataTable dt = itemRep.Converter.ToDataTable(items,"TItems"); // Remove all items not on the current page dt = Pager.FilterDataTable(dt,0); // bind and display gdItems.DataSource = dt; gdItems.DataBind(); } A little contrived I suppose since the list could already be bound from the list of elements, but this is to demonstrate that you can also bind against a DataTable if your business layer returns those. Unfortunately there’s no way to filter a DataReader as it’s a one way forward only reader and the reader is required by the DataSource to perform the bindings.  However, you can still use a DataReader as long as your business logic filters the data prior to rendering and provides a total item count (most likely as a second query). Control Creation The control itself is a pretty brute force ASP.NET control. Nothing clever about this other than some basic rendering logic and some simple calculations and update routines to determine which buttons need to be shown. You can take a look at the full code from the West Wind Web Toolkit’s Repository (note there are a few dependencies). To give you an idea how the control works here is the Render() method: /// <summary> /// overridden to handle custom pager rendering for runtime and design time /// </summary> /// <param name="writer"></param> protected override void Render(HtmlTextWriter writer) { base.Render(writer); if (TotalPages == 0 && TotalItems > 0) TotalPages = CalculateTotalPagesFromTotalItems(); if (DesignMode) TotalPages = 10; // don't render pager if there's only one page if (TotalPages < 2) return; if (RenderContainerDiv) { if (!string.IsNullOrEmpty(ContainerDivCssClass)) writer.AddAttribute("class", ContainerDivCssClass); writer.RenderBeginTag("div"); } // main pager wrapper writer.WriteBeginTag("div"); writer.AddAttribute("id", this.ClientID); if (!string.IsNullOrEmpty(CssClass)) writer.WriteAttribute("class", this.CssClass); writer.Write(HtmlTextWriter.TagRightChar + "\r\n"); // Pages Text writer.WriteBeginTag("span"); if (!string.IsNullOrEmpty(PagesTextCssClass)) writer.WriteAttribute("class", PagesTextCssClass); writer.Write(HtmlTextWriter.TagRightChar); writer.Write(this.PagesText); writer.WriteEndTag("span"); // if the base url is empty use the current URL FixupBaseUrl(); // set _startPage and _endPage ConfigurePagesToRender(); // write out first page link if (ShowFirstAndLastPageLinks && _startPage != 1) { writer.WriteBeginTag("a"); string pageUrl = StringUtils.SetUrlEncodedKey(BaseUrl, QueryStringPageField, (1).ToString()); writer.WriteAttribute("href", pageUrl); if (!string.IsNullOrEmpty(PageLinkCssClass)) writer.WriteAttribute("class", PageLinkCssClass + " " + PageLinkCssClass + "-first"); writer.Write(HtmlTextWriter.SelfClosingTagEnd); writer.Write("1"); writer.WriteEndTag("a"); writer.Write("&nbsp;"); } // write out all the page links for (int i = _startPage; i < _endPage + 1; i++) { if (i == ActivePage) { writer.WriteBeginTag("span"); if (!string.IsNullOrEmpty(SelectedPageCssClass)) writer.WriteAttribute("class", SelectedPageCssClass); writer.Write(HtmlTextWriter.TagRightChar); writer.Write(i.ToString()); writer.WriteEndTag("span"); } else { writer.WriteBeginTag("a"); string pageUrl = StringUtils.SetUrlEncodedKey(BaseUrl, QueryStringPageField, i.ToString()).TrimEnd('&'); writer.WriteAttribute("href", pageUrl); if (!string.IsNullOrEmpty(PageLinkCssClass)) writer.WriteAttribute("class", PageLinkCssClass); writer.Write(HtmlTextWriter.SelfClosingTagEnd); writer.Write(i.ToString()); writer.WriteEndTag("a"); } writer.Write("\r\n"); } // write out last page link if (ShowFirstAndLastPageLinks && _endPage < TotalPages) { writer.WriteBeginTag("a"); string pageUrl = StringUtils.SetUrlEncodedKey(BaseUrl, QueryStringPageField, TotalPages.ToString()); writer.WriteAttribute("href", pageUrl); if (!string.IsNullOrEmpty(PageLinkCssClass)) writer.WriteAttribute("class", PageLinkCssClass + " " + PageLinkCssClass + "-last"); writer.Write(HtmlTextWriter.SelfClosingTagEnd); writer.Write(TotalPages.ToString()); writer.WriteEndTag("a"); } // Previous link if (ShowPreviousNextLinks && !string.IsNullOrEmpty(PreviousText) && ActivePage > 1) { writer.Write("&nbsp;"); writer.WriteBeginTag("a"); string pageUrl = StringUtils.SetUrlEncodedKey(BaseUrl, QueryStringPageField, (ActivePage - 1).ToString()); writer.WriteAttribute("href", pageUrl); if (!string.IsNullOrEmpty(PageLinkCssClass)) writer.WriteAttribute("class", PageLinkCssClass + " " + PageLinkCssClass + "-prev"); writer.Write(HtmlTextWriter.SelfClosingTagEnd); writer.Write(PreviousText); writer.WriteEndTag("a"); } // Next link if (ShowPreviousNextLinks && !string.IsNullOrEmpty(NextText) && ActivePage < TotalPages) { writer.Write("&nbsp;"); writer.WriteBeginTag("a"); string pageUrl = StringUtils.SetUrlEncodedKey(BaseUrl, QueryStringPageField, (ActivePage + 1).ToString()); writer.WriteAttribute("href", pageUrl); if (!string.IsNullOrEmpty(PageLinkCssClass)) writer.WriteAttribute("class", PageLinkCssClass + " " + PageLinkCssClass + "-next"); writer.Write(HtmlTextWriter.SelfClosingTagEnd); writer.Write(NextText); writer.WriteEndTag("a"); } writer.WriteEndTag("div"); if (RenderContainerDiv) { if (RenderContainerDivBreak) writer.Write("<br clear=\"all\" />\r\n"); writer.WriteEndTag("div"); } } As I said pretty much brute force rendering based on the control’s property settings of which there are quite a few: You can also see the pager in the designer above. unfortunately the VS designer (both 2010 and 2008) fails to render the float: left CSS styles properly and starts wrapping after margins are applied in the special buttons. Not a big deal since VS does at least respect the spacing (the floated elements overlay). Then again I’m not using the designer anyway :-}. Filtering Data What makes the Pager easy to use is the filter methods built into the control. While this functionality is clearly not the most politically correct design choice as it violates separation of concerns, it’s very useful for typical pager operation. While I actually have filter methods that do something similar in my business layer, having it exposed on the control makes the control a lot more useful for typical databinding scenarios. Of course these methods are optional – if you have a business layer that can provide filtered page queries for you can use that instead and assign the TotalItems property manually. There are three filter method types available for IQueryable, IEnumerable and for DataTable which tend to be the most common use cases in my apps old and new. The IQueryable version is pretty simple as it can simply rely on on .Skip() and .Take() with LINQ: /// <summary> /// <summary> /// Queries the database for the ActivePage applied manually /// or from the Request["page"] variable. This routine /// figures out and sets TotalPages, ActivePage and /// returns a filtered subset IQueryable that contains /// only the items from the ActivePage. /// </summary> /// <param name="query"></param> /// <param name="activePage"> /// The page you want to display. Sets the ActivePage property when passed. /// Pass 0 or smaller to use ActivePage setting. /// </param> /// <returns></returns> public IQueryable<T> FilterIQueryable<T>(IQueryable<T> query, int activePage) where T : class, new() { ActivePage = activePage < 1 ? ActivePage : activePage; if (ActivePage < 1) ActivePage = 1; TotalItems = query.Count(); if (TotalItems <= PageSize) { ActivePage = 1; TotalPages = 1; return query; } int skip = ActivePage - 1; if (skip > 0) query = query.Skip(skip * PageSize); _TotalPages = CalculateTotalPagesFromTotalItems(); return query.Take(PageSize); } The IEnumerable<T> version simply  converts the IEnumerable to an IQuerable and calls back into this method for filtering. The DataTable version requires a little more work to manually parse and filter records (I didn’t want to add the Linq DataSetExtensions assembly just for this): /// <summary> /// Filters a data table for an ActivePage. /// /// Note: Modifies the data set permanently by remove DataRows /// </summary> /// <param name="dt">Full result DataTable</param> /// <param name="activePage">Page to display. 0 to use ActivePage property </param> /// <returns></returns> public DataTable FilterDataTable(DataTable dt, int activePage) { ActivePage = activePage < 1 ? ActivePage : activePage; if (ActivePage < 1) ActivePage = 1; TotalItems = dt.Rows.Count; if (TotalItems <= PageSize) { ActivePage = 1; TotalPages = 1; return dt; } int skip = ActivePage - 1; if (skip > 0) { for (int i = 0; i < skip * PageSize; i++ ) dt.Rows.RemoveAt(0); } while(dt.Rows.Count > PageSize) dt.Rows.RemoveAt(PageSize); return dt; } Using the Pager Control The pager as it is is a first cut I built a couple of weeks ago and since then have been tweaking a little as part of an internal project I’m working on. I’ve replaced a bunch of pagers on various older pages with this pager without any issues and have what now feels like a more consistent user interface where paging looks and feels the same across different controls. As a bonus I’m only loading the data from the database that I need to display a single page. With the preset class tags applied too adding a pager is now as easy as dropping the control and adding the style sheet for styling to be consistent – no fuss, no muss. Schweet. Hopefully some of you may find this as useful as I have or at least as a baseline to build ontop of… Resources The Pager is part of the West Wind Web & Ajax Toolkit Pager.cs Source Code (some toolkit dependencies) Westwind.css base stylesheet with .pager and .gridpager styles Pager Example Page © Rick Strahl, West Wind Technologies, 2005-2010Posted in ASP.NET  

    Read the article

  • How to Find Office 2003 Commands in Office 2010

    - by Matthew Guay
    Are you new to the ribbon interface in Office 2010?  Here’s how you can get up to speed and learn where everything is quickly and easily. Microsoft has made an interactive guide to Office 2010’s new interface to help users learn their way around the new version.  If you’ve already used Office 2007, then Office 2010 will be very easy to transition to, but if you’re still using Office 2003 you may find the learning curve more steep.  With this interactive guide, upgrading your Office skills doesn’t have to be hard. Learn Your Way Around the Office Ribbon Open the Office 2010 interactive guides site (link below) in your browser, and select the Office app you want to explore. The guides are powered by Silverlight, so if you don’t already have it installed you will be prompted to do so. Once the guide has loaded, click Start to begin. Select any menu or toolbar item in the Office 2003 mockup.  A tooltip will appear to show you how to find this option in Word 2010. If you click the item, the interface will switch to an Office 2010 mockup and will interactively show you how to access this feature.  The Thumbnails view isn’t available by default in Word 2010, so it shows us how to add it to the ribbon.  When you’ve figured this command out, click anywhere to go back to the Office 2003 mockup and find another item. Currently the guides are available for Word, Excel, and PowerPoint, but the site says that guides for the other Office apps will be available soon.  Here’s the PowerPoint guide showing where the Rehearse Timings option is in PowerPoint 2010. Install the Interactive Guides to Your Computer You can also install the guides to your computer so you can easily access them even if you’re not online.  Open the guide you want to install, and click the Install button in the top right corner of the guide. Choose where you want the shortcuts, and click Ok. Here’s the Interactive Word 2010 guide installed on our computer.  The downloaded version seemed to work faster in our tests, likely because all the content was already saved to the computer.  If you decide you don’t need it any more, click Uninstall in the top right corner. Download Office Cheat Sheets If you’d like a cheat-sheet of Office commands that have changed or are new in Office 2010, Microsoft’s got that for you, too.  You can download Office reference workbooks (link below) that show how to access each item that was in Office 2003’s menus.  Here’s the Word guide showing where each of Word 2003’s commands from the help menu are in Word 2010. Learn Your Way Around Office 2007, Too! Microsoft offers similar interactive guides for learning the ribbon in Office 2007, so if you’re still using Office 2007 but can’t find a command, feel free to check it out as well (link below).  Guides are available for Word, Excel, PowerPoint, Access, and Outlook 2007.  You can also download cheat sheets for Office 2007 at this site as well.  Here’s the tutorial showing us where the font options are in PowerPoint 2007. Conclusion We have found the ribbon interface to be a great addition to Office, but if you’ve got years of Office 2003 experience under your belt you may find it difficult to locate your favorite commands.  These tutorials can help you use your old Office knowledge to learn Office 2010 or 2007 in a quick and easy way! Links Office 2010 interactive guide Download Office 2010 reference workbooks Office 2007 interactive guide Similar Articles Productive Geek Tips How To Find Commands and Functions in Office 2007 the Easy WayMake Excel 2007 Always Save in Excel 2003 FormatMake Word 2007 Always Save in Word 2003 FormatAdd or Remove Apps from the Microsoft Office 2007 or 2010 SuiteCreate a Customized Tab on the Office 2010 Ribbon TouchFreeze Alternative in AutoHotkey The Icy Undertow Desktop Windows Home Server – Backup to LAN The Clear & Clean Desktop Use This Bookmarklet to Easily Get Albums Use AutoHotkey to Assign a Hotkey to a Specific Window Latest Software Reviews Tinyhacker Random Tips DVDFab 6 Revo Uninstaller Pro Registry Mechanic 9 for Windows PC Tools Internet Security Suite 2010 Outlook Connector Upgrade Error Gadfly is a cool Twitter/Silverlight app Enable DreamScene in Windows 7 Microsoft’s “How Do I ?” Videos Home Networks – How do they look like & the problems they cause Check Your IMAP Mail Offline In Thunderbird

    Read the article

  • Add Background Images and Themes to Windows 7 Media Center

    - by DigitalGeekery
    Are you tired of the same Windows Media Center look and feel? Today we’ll show you how change the background and apply themes to WMC. Changing the Basic Color Scheme in WMC There are a couple of very basic color scheme options built in to Windows 7 Media Center. From the WMC Start Menu, select Settings on the Tasks strip and then select General. On the General settings screen select Visual and Sound Effects.   Under Color scheme you’ll find options for Windows Media Center standard, High contrast white, and High contrast black. Simply select a color scheme and click Save before exiting.   If you have used Media Center before you are familiar with the standard blue default theme. There is also the high contrast white. And, the high contrast black. Changing the Background Image with Media Center Studio Themes and custom backgrounds need to be added with the third-party software, Media Center Studio. You can find the download link at the end of this article. You can use your own high resolution photo, or download one from the Internet. For best results, you’ll want to find an image that meets or exceeds the resolution of your monitor. Also, using a darker colored background image is ideal as it should contrast better with the lighter colored text of the start menu. Once you’ve downloaded and installed Media Center Studio (link below), open the application select the Home tab on the ribbon and make sure you are on the Themes tab below. Click New. Select Biography from the left pane and type in a name for your new theme.   Next, click on the triangle next to Images to expand the list below. You’ll want to browse to Images > Common > Background. You should see a list of PNG image files located below Background. We will want to swap out the COMMON.ANIMATED.BACKGROUND.PNG and the COMMON.BACKGROUND.PNG images. Select COMMON.ANIMATED.BACKGROUND.PNG and click on the Browse button on the right.   Browse for your photo and click Open. Your selected image will appear on the left pane. Now, do the same for the COMMON.BACKGROUND.PNG. When finished, select the Home tab on the ribbon at the top and click Save.   Now switch to the Themes tab on the ribbon and the Themes tab below. (There are two Themes tabs which can be a bit confusing). Select your theme on the right pane and click Apply. Note: You won’t see the image backgrounds displayed. Your theme will be applied to Media Center. Close out of Media Center Studio and open Windows Media Center to check out your new background.   You can load multiple backgrounds images and switch them periodically as your mood changes. You might like to find a nice background featuring your favorite movie or TV show.   Perhaps you can even find a background of your favorite sports team.   Installing Themes with Media Center Studio Theme7MC has made available a small group of Media Center Studio Theme packs that are simple to download and install. You can find the download link below. Note: Before installing a theme, turn off any extenders and close Windows Media Center. Download any (or all) of the Theme7MC theme packages to your Media Center PC. Open Media Center Studio, select the Themes tab (the one at the top) and click Import Theme.   Browse for the theme you wish to import and click Open. Select your theme from the themes pane and click Apply. Media Center Studio will proceed to apply your theme. You should then see your new theme appear under Current theme on the left theme pane. Close out of Media Center Studio. Open Media Center and enjoy your new theme. Conclusion Media Center Studio runs on Windows 7 or Vista and gives users a solution for personalizing their Media Center backgrounds. It is a Beta application, however, so it still has a few bugs. Currently, there are only a handful of themes available at Themes7MC, but what they have is pretty slick. If you’d like to further customize the look of Media Center, check out our previous article on how to customize the Media Center start menu with Media Center Studio. Downloads Media Center Studio Theme7MC Similar Articles Productive Geek Tips Using Netflix Watchnow in Windows Vista Media Center (Gmedia)How To Rip a Music CD in Windows 7 Media CenterAutomatically Mount and View ISO files in Windows 7 Media CenterSchedule Updates for Windows Media CenterIntegrate Hulu Desktop and Windows Media Center in Windows 7 TouchFreeze Alternative in AutoHotkey The Icy Undertow Desktop Windows Home Server – Backup to LAN The Clear & Clean Desktop Use This Bookmarklet to Easily Get Albums Use AutoHotkey to Assign a Hotkey to a Specific Window Latest Software Reviews Tinyhacker Random Tips CloudBerry Online Backup 1.5 for Windows Home Server Snagit 10 VMware Workstation 7 Acronis Online Backup AceStock, a Tiny Desktop Quote Monitor Gmail Button Addon (Firefox) Hyperwords addon (Firefox) Backup Outlook 2010 Daily Motivator (Firefox) FetchMp3 Can Download Videos & Convert Them to Mp3

    Read the article

< Previous Page | 194 195 196 197 198 199 200 201 202 203 204 205  | Next Page >